工作中常需要判断java集合是否为空且有数据,比如防止之后遍历代码异常。空则return结束。
常见判断集合是否为空且有数据的方式:
//isEmpty() 只是判断list.size() == 0 ,这方法也太鸡肋了-_-||
if(list!=null && !list.isEmpty()){
//不为空的情况
}else{
//为空的情况(比如,这个日期还没人报餐)
return null;
}
和纯手动一个鸟样
if(list!=null && list.size()>0){
//不为空的情况
}else{
//为空的情况(比如,这个日期还没人报餐)
return null;
}
为啥java list的isEmpty() 却只能判断是否占内存,而不管null的情况。这么鸡肋
,java集合源代码不能改改嘛。
联想到,判断字符串是否为null
或""
时,有封装方法StringUtils.isBlank(str)
方法或StringUtils.isNotBlank(str)
方法一并解决了这两种子情况的讨论。那么,对于java集合的同质处理应该也有早已写好的java封装工具方法:
找到了_,果然有这个方法,可以满足码畜实际开发需要一个方法一并解决判断了两种情况的需求:
if(!CollectionUtils.isEmpty(applyMealRecordEntities)){
//不为空的情况
}else{
//为空的情况(比如,这个日期还没人报餐)
return null;
}
2020年9月14日
springframework.util包多多少少沾点残疾,就一个isEmpty()【StringUtils也是这个卵样】,不如apache.common包全面:
org.apache.commons.collections4.CollectionUtils#isNotEmpty