Java如何判断list集合为空

先看案例

public static void main(String[] args) {
    List<String> a = new ArrayList<>();
    System.out.println(a != null);   //true
    System.out.println(a.isEmpty());  //true
    System.out.println(a);    //[]
    List<String> b =null;  
    System.out.println(b);   //null
    System.out.println(b != null);  //false
    System.out.println(b.isEmpty());  //空指针异常
}

初学者很容易弄错 [ ] 和 null 是完全两个概念

我们明显发现如果是null调用isEmpty方法的时候会直接出现空指针异常

//输出结果
true
true
[]
null
false
Exception in thread "main" java.lang.NullPointerException


那么list集合如何判空?

if(null == list || list.size() ==0 ){

  //为空的情况
}else{

  //不为空的情况
}

if(list!=null && !list.isEmpty()){
   //不为空的情况
}else{
   //为空的情况
}

 这就相当与,你要要到商店买东西

    list!=null 首先判断是否有商店

    !list.isEmpty() 没有判断商店是否存在,而是判断商店是否有东西
    

小结一:list.isEmpty() 和 list.size()==0 有啥区别呢?

1、isEmpty()判断有没有元素,而size()返回有几个元素, 如果仅仅判断一个集合有无元素 建议用isEmpty()方法.比较符合逻辑用法。
  2、list.size()好比你集合里面什么都没有,那么返回的是就是0,正常逻辑大家都可以逻辑。

    ps:如果你使用isEmpty()像初学者者一样不做集合判空校验就很容易出现空指针异常

小结二:理解list!=null && !list.isEmpty()

你可能感兴趣的:(java,list,开发语言)