本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《 阿里云开发者社区用户服务协议 》和 《 阿里云开发者社区知识产权保护指引 》。如果您发现本社区中有涉嫌抄袭的内容,填写 侵权投诉表单 进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

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