java 对类型的基本操作小结
1.json 字符串转换成对象
SyncCarriageStatusDTO dto= JSON.parseObject(value,SyncCarriageStatusDTO.class);
List<MQPackageParams> pparams = JSON.parseObject(dto.getData(),new TypeReference<List<MQPackageParams>>() {});
2.对象转换成字符串对象
String data = JSON.toJSONString(pkg);
2.枚举字符串转换成枚举类型
RefTypeEnum refType=RefTypeEnum.valueof(dto.getRefType())
3.对象不为空判断
CollectionUtils.isNotEmpty(carriageRefs)
4.XML字符串转换对象或进行XML操作
4.1 利用 JAXBContext
JAXBContext jaxbContext = JAXBContext.newInstance(cls);
Unmarshaller um = jaxbContext.createUnmarshaller();
t = (T)um.unmarshal(new StringReader(xmlStr));
4.2 利用 XStream
if(! xmap.containsKey(cls.getName())){
XStream xstream = new XStream(new DomDriver());
xstream.processAnnotations(cls);
xstream.ignoreUnknownElements();
xmap.put(cls.getName(), xstream);
}
T t = (T) xmap.get(cls.getName()).fromXML(xmlStr);
4.3利用 DocumentHelper.parseText(xml)
Node eventType = document.selectSingleNode("//logisticsEvent/eventHeader/eventType");
if (eventType != null && StringUtils.isNotBlank(eventType.getText())) {
type = CainiaoMessageEventTypeEnum.valueOf(eventType.getText().trim());
}
5. 枚举转换:
int packageType = PackageTypeEnum.SMALL.getIndex();
public enum PackageTypeEnum {
/**大包裹*/
BIG(1, "大包裹"),
/**小包裹*/
SMALL(2, "小包裹");
@Getter
@Setter
private int index;
@Getter
@Setter
private String name;
private PackageTypeEnum(int index,String name) {
this.index = index;
this.name = name;
}
public static String getName(int index) {
for (PackageTypeEnum s : PackageTypeEnum.values()) {
if (s.getIndex() == index) {
return s.name;
}
}
return null;
}
}
6.类型转换:
pkg.setWeight(BigDecimal.valueOf(jobPackageDTO.getWeight()));
7.字符串判断是否为空
StringUtils.isBlank(rCode)
8.数组转换成ArrayList
String[] mailNos=mailNo.replaceAll(" ", "").split(",");
List<String> mailnoList=Arrays.asList(mailNos);
9.判断对象类型:
other instanceof DataExample;
10.数组转换成List类型
String[] arrayA = new String[] { "1", "2", "3", "3", "4", "5" };
String[] arrayB = new String[] { "3", "4", "4", "5", "6", "7" };
List<String> a = Arrays.asList(arrayA);
List<String> b = Arrays.asList(arrayB);
java 对类型的基本操作小结的更多相关文章
- Java返回类型泛型的用法小结
Java返回类型泛型的用法小结 版权声明:本文为博主原创文章,未经博主允许不得转载. 关于Java泛型的基本用法就不多说了,主要是一个编译期的检查,也避免了我们代码中的强制转换,比较经典的用法有泛型D ...
- Java关键字transient和volatile小结(转)
Java关键字transient和volatile小结(转) transient和volatile两个关键字一个用于对象序列化,一个用于线程同步,都是Java中比较高阶的话题,简单总结一下. tran ...
- JAVA 变量 数据类型 运算符 知识小结
---------------------------------------------------> JAVA 变量 数据类型 运算符 知识小结 <------------------ ...
- Java常见异常(Runtime Exception )小结(转)
原文链接:Java常见异常(Runtime Exception )小结 Java异常体系结构呈树状,其层次结构图如图 1所示: 本文重在Java中异常机制的一些概念.写本文的目的在 ...
- java keytool证书工具使用小结
java keytool证书工具使用小结 在Security编程中,有几种典型的密码交换信息文件格式: DER-encoded certificate: .cer, .crt PEM-encod ...
- java string类型的初始化
以下基本上是java string类型最常用的三种方法 new string()就不介绍了 基本等同于第三种 String a; 申明一个string类型的 a,即没有在申请内存地址,更没有在内存 ...
- java 枚举类型分析
最近做android开发,需要用到枚举值,这样可以连续赋值,我按之前c++那样书写,如下所示: public enum ColorSelect { RED_BAGE = 0, GREEN_BAGE, ...
- java double类型保留两位小数4种方法【转】
4种方法,都是四舍五入,例: import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberF ...
- servlet中Java连接数据库后的基本操作
servlet中Java连接数据库后的基本操作 在eclipse中新建一个工程:login 在Server中新建一个服务器,基本的操作不用说了,在前两天的笔记中可以找到; 需要知道数据库的用户名和密码 ...
随机推荐
- 【BZOJ1283/3550】序列/[ONTAK2010]Vacation 最大费用流
[BZOJ1283]序列 Description 给出一个长度为 的正整数序列Ci,求一个子序列,使得原序列中任意长度为 的子串中被选出的元素不超过K(K,M<=100) 个,并且选出的元素之和 ...
- Leetcode-Recover BST
Two elements of a binary search tree (BST) are swapped by mistake. Recover the tree without changing ...
- pycharm中配置Django运行环境(包括run manage.py task)
1.特别注意Environment variables(环境变量)的配置 DJANGO_SETTINGS_MODULE=(项目名).settings 如: DJANGO_SETTINGS_MODULE ...
- 解决scrapy fetch http://www.csdn.net ModuleNotFoundError No module named 'win32api'和ImportError DLL load failed找不到指定的模块
1.解决scrapy fetch http://www.csdn.netModuleNotFoundError No module named 'win32api' Python是没有自带访问wind ...
- C#自动给文章关键字加链接实现代码
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using S ...
- pro-select-limit-if
drop procedure if exists p9; CREATE PROCEDURE p9 () BEGIN DECLARE a INT; DECLARE b INT; DECLARE c IN ...
- JQuery基础与事件和动画
JQuery语法 1.JQuery("选择器").action; 通过选择器调用时间函数 但Jquery可以用$符号代替,即$("选择器").action; ① ...
- VS c++ opencv画图
任务:用c++在图片上画线 之前用过python的opencv,所以直接想到了用c++的opencv来画线. 但关键就是VS中如何配置c++ opencv库的问题: vs中opencv库的配置:htt ...
- django 表单系统 之 forms.Form
继承forms.Form实现django表单系统 参考: https://www.cnblogs.com/zongfa/p/7709639.html https://www.cnblogs.com/c ...
- System.Core, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes”
“System.Core, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes” 或 ...