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 对类型的基本操作小结的更多相关文章

  1. Java返回类型泛型的用法小结

    Java返回类型泛型的用法小结 版权声明:本文为博主原创文章,未经博主允许不得转载. 关于Java泛型的基本用法就不多说了,主要是一个编译期的检查,也避免了我们代码中的强制转换,比较经典的用法有泛型D ...

  2. Java关键字transient和volatile小结(转)

    Java关键字transient和volatile小结(转) transient和volatile两个关键字一个用于对象序列化,一个用于线程同步,都是Java中比较高阶的话题,简单总结一下. tran ...

  3. JAVA 变量 数据类型 运算符 知识小结

    ---------------------------------------------------> JAVA 变量 数据类型 运算符 知识小结 <------------------ ...

  4. Java常见异常(Runtime Exception )小结(转)

    原文链接:Java常见异常(Runtime Exception )小结 Java异常体系结构呈树状,其层次结构图如图 1所示:           本文重在Java中异常机制的一些概念.写本文的目的在 ...

  5. java keytool证书工具使用小结

    java keytool证书工具使用小结 在Security编程中,有几种典型的密码交换信息文件格式: DER-encoded certificate: .cer, .crt    PEM-encod ...

  6. java string类型的初始化

    以下基本上是java string类型最常用的三种方法 new string()就不介绍了  基本等同于第三种 String a;  申明一个string类型的 a,即没有在申请内存地址,更没有在内存 ...

  7. java 枚举类型分析

    最近做android开发,需要用到枚举值,这样可以连续赋值,我按之前c++那样书写,如下所示: public enum ColorSelect { RED_BAGE = 0, GREEN_BAGE, ...

  8. java double类型保留两位小数4种方法【转】

    4种方法,都是四舍五入,例: import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberF ...

  9. servlet中Java连接数据库后的基本操作

    servlet中Java连接数据库后的基本操作 在eclipse中新建一个工程:login 在Server中新建一个服务器,基本的操作不用说了,在前两天的笔记中可以找到; 需要知道数据库的用户名和密码 ...

随机推荐

  1. grunt的简单应用

    grunt是干什么的呢,一句话:自动化.对于需要反复重复的任务,例如压缩(minification).编译.单元测试.linting等,自动化工具可以减轻你的劳动,简化你的工作.当你在 Gruntfi ...

  2. ArcGIS api for silverlight 禁用默认浏览操作

    ArcGIS api for silverlight 的mapcontrol中提供了一系列的默认浏览工具选项(default navigation options),如下表所示, 那么如何禁用这些默认 ...

  3. JavaScript数据类型转换汇总

    ECMAScirpt中的数据类型:undefined.Null.Boolean.Number.String.Object 对一个值使用typeof操作符可能返回下列某个字符串: number(数字). ...

  4. Django组件 - cookie、session、用户认证组件

    一.cookie 1.会话跟踪技术 1)什么是会话跟踪技术 我们需要先了解一下什么是会话!可以把会话理解为客户端与服务器之间的一次会晤,在一次会晤中可能会包含多次请求和响应.例如你给10086打个电话 ...

  5. (4.1)SQL Server Browser 与动态端口

    转自:http://blog.51cto.com/jimshu/1120295 一.启用TCP端口 1.启用TCP/IP协议 打开SSCM(SQL Server Configuration Manag ...

  6. sql server等待类型

    sql server 各种等待类型-转 sql server各个等待类型及解决办法:https://www.sqlskills.com/help/waits/writelog/其他等待类型的描述和解决 ...

  7. nginx规则总结

    location正则写法 一个示例: location = / { # 精确匹配 / ,主机名后面不能带任何字符串 [ configuration A ] } location / { # 因为所有的 ...

  8. 用Tchromium替代webbrowser提交网页表单有关问题

    用Tchromium替代webbrowser提交网页表单有关问题   提交表单时,使用js脚本,然后用 chrm.browser.Frame['ff'].ExecuteJavaScript 提交就可以 ...

  9. ubuntu服务器无法运行chromedriver解决方法(转)

    无头浏览器 sudo apt-get install Xvfb sudo pip install pyvirtualdisplay from pyvirtualdisplay import Displ ...

  10. LeetCode:验证二叉搜索树【98】

    LeetCode:验证二叉搜索树[98] 题目描述 给定一个二叉树,判断其是否是一个有效的二叉搜索树. 假设一个二叉搜索树具有如下特征: 节点的左子树只包含小于当前节点的数. 节点的右子树只包含大于当 ...