【JAVA判空】数据判空方法合集(List,String)

最近代码走查,讨论到数组判空,正好整理一下,记录一下不同数据类型判空方式!

一、String类型数据

    String类型数据判空我们一般需要判断是否是 null 或者 "";

    例如 String str = null;

对于str的判断我们传统方式有:str != null && str != ""      或者  str != null && !str.isEmpty     或者  str != null && !"".equals(str)

当然还有str != null && str.length>0()也可以,不过今天讲的是另一种方式: StringUtils.isNotBlank(str)  。

StringUtils.isNotBlank(str)我觉得还是挺方便的!

源码:

------------------------------------------------下面是重点-----------------------------------------------------------

说到这里,就得多说两句了,我们往往从Map或者JSON里获得String数据时,往往获得的是OBJECT对象,我们需要转化成String类型!

我们往往用str.toString() 或者 String.valueOf(str)  方式;这两种确实都是可以的,不过这两种各有利弊,第一种如果缺失null判断,会出现空指针异;而第二个,更是容易有隐藏的BUG,当str为null时,String.valueOf(str)  转换后的结果是 str = "null";是的,你没看错,str = 字符串null;String.valueOf(str).length() = 4。所以说这个平时还是需要注意点的!

看源码:

二、List数组判空

    与String一样,List数组判空,我们也是要判断是否是 null 或者 空数组;

    例如:List list = new ArrayList<String>();

我们平常喜欢用的方式是:list != null && list.size()>0      或者 list != null && !list.isEmpty()

不过今天我们推荐一下apache的CollectionUtils类:CollectionUtils.isNotEmpty(list)  可以同时判断是否为 null 或者空数组。这个我感觉还挺方便的!

看他的源码:

后续有又遇到好的判断就在增加。。。。。。。

     

发布了57 篇原创文章 · 获赞 44 · 访问量 16万+

猜你喜欢

转载自blog.csdn.net/Tastill/article/details/87617708