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