java list 去空字符串 | 您所在的位置:网站首页 › stream去除空字符串 › java list 去空字符串 |
前言: 我们在项目中经常需要对获取的list集合或String类型变量判空,看前辈的代码,不同的人判空的方法不一样,那么,Java代码中,对list集合和String类型变量到底该如何判空呢? 一、Java list集合判空 一般的做法是 if(list!= null && list.size() != 0){} if(list != null&& !list.isEmpty()){} 1、list!=null:判断是否存在list,null表示这个list不指向任何的东西,如果这时候你调用它的方法,那么就会出现空指针异常。 2、list.isEmpty():判断list里是否有元素存在。 3、list.size():判断list里有几个元素。 一个形象的比喻: list!=null,判断是不是连水杯都没有, list.isEmpty()和list.size(),判断水杯里面有没有水。 判断list里是否有元素的最佳的方法是: if(list != null&& !list.isEmpty()){ //list存在且里面有元素 } 二、判断java string类型数据不为空 string 类型为空的四种情况: 1、str== null:null表示这个字符串不指向任何的东西,如果这时候你调用它的方法,那么就会出现空指针异常。 2、"".equals(str):""表示它指向一个长度为0的字符串,这时候调用它的方法是安全的。 3、str.length //s为空执行 } 方法C:比较字符串长度, 效率高, 是最好的一个方法; if (str == null ||str.length() //s为空执行 } 所以,判断一个字符串是否为空,首先就要确保他不是null,然后再判断他的长度。 String str = xxx; if(str != null && str.length() !=0) { } 三、关于a!=null和null!=a的纠结 a!=null,相信大家都能理解,那么,null!=a,是个怎样的存在呢?做比较时,我们会将常量写在左边,为什么会有null!=a这种写法呢? 解:防止程序员做比较时,少写“=” java中if内的判断语句不同与其他语言,其if内的表达式的值只能是boolean或其装箱类型。所以 null == a 比 xxx == a唯一的好处在java就是当a为 Boolean类型时候,书写null == a 时悲剧的少写一个 “=” 后 ,null = a会报错,而 a = null 不会,此时,就可能产生空指针异常。 总结: 判空的原则:先判断变量是否为null,再判断是否内容 参考: |
CopyRight 2018-2019 实验室设备网 版权所有 |