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);//trueSystem.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()**的方式去判断集合是否为空。