Java中判断对象为空的问题
首先来看一下工具StringUtils的判断方法:
StringUtils.isEmpty(CharSequence cs); //org.apache.commons.lang3包下的StringUtils类,判断是否为空的方法参数是字符序列类,也就是String类型StringUtils.isEmpty(Object str); //而org.springframework.util包下的参数是Object类,也就是不仅仅能判断String类型,还能判断其他类型,比如Long等类型。12345
一种是org.apache.commons.lang3包下的;
另一种是org.springframework.util包下的。这两种StringUtils工具类判断对象是否为空是有差距的:
从上面的例子可以看出第二种的StringUtils类更实用。
下面来看一下org.apache.commons.lang3的StringUtils.isEmpty(CharSequence cs)源码:public static boolean isEmpty(final CharSequence cs) { return cs == null || cs.length() == 0;
接下来是org.springframework.util的StringUtils.isEmpty(Object str)源码:public static boolean isEmpty(Object str) { return (str == null || "".equals(str));
基本上判断对象是否为空,StringUtils.isEmpty(Object str)这个方法都能搞定。
接下来就是判断数组是否为空
list.isEmpty(); //返回boolean类型。{
System.out.println(“为空”);
}
equals比较两个对象的内容是否相同
== 比较两个对象是否是同一对象。
if(null == pb)
System.out.println("为空");
else
System.out.println("不为空");
System.out.println("为空");
else{
System.out.println("不为空");
}
pb.trim().equals("")这个方法中的trim()是去除多余空格
判断条件用短路或 || 这样若果对象为null或者不为null但是值为""空字符串则都算为空