0 写在前面
最近接触集合比较多,经常对于集合是否为空做判断,目前了解的有三种方法,所以记录一下。
分别为:
list.size()
list.isEmpty()
CollectionUtils.isEmpty(listName)
1 list.size()
这个方法是初学的时候用的比较多的,我们用伪代码复刻一下:集合名称.size()
List<Object> listName = new ArrayList<>();
//判断集合长度是否为空
if (listName.size() == 0) {
System.out.println("集合为空");
}
if (listName.size() > 0) {
System.out.println("集合不为空");
}
System.out.println(listName.size() == 0);//true
System.out.println(listName.size() > 0);//false
输出:
集合为空
true
false
2 list.isEmpty()
这个方法是集合集成到自身的方法,如果有空可以看一下List.java的源码
用伪代码举例:集合名称.isEmpty()
List<Object> listName = new ArrayList<>();
if (listName.isEmpty()) {
System.out.println("集合为空");
}
System.out.println(listName.isEmpty());//true
输出:
集合为空
true
3 CollectionUtils.isEmpty()
这个使用到了spring的工具类,需要提前引入依赖
import org.springframework.util.CollectionUtils;
用伪代码举例:CollectionUtils.isEmpty(集合名称)
List<Object> listName = new ArrayList<>();
if (CollectionUtils.isEmpty(listName)) {
System.out.println("集合为空");
}
System.out.println(CollectionUtils.isEmpty(listName));//true
输出:
集合为空
true
4 注意事项
①在使用list.isEmpty()时,如果集合=null。则会报空指针异常
举例:
List<Object> listName = new ArrayList<>();
listName=null;
if (listName.isEmpty()){
System.out.println("集合为空");
}
最后总结:最好使用CollectionUtils.isEmpty()的方式去判断集合是否为空。