Java如何判断list集合为空(demo分析)

你好我是辰兮,很高兴你能来阅读,本篇整理一下集合中的一些判断为空的方式,分享给初学者,大家一起进步!

1.JAVA基础常考问题参考: JAVA面试基础常考题汇集
2.SSM框架常考参考:JAVA框架面试题汇集
3.List和Set集合基础详解参考:List和Set集合基础详解


为啥总结这篇文章呢?因为项目遇到后有了一些新的思考,温故而知新!

实际开发过程一定会遇到集合相关问题,关于如何判断取的值为空

在这里插入图片描述

上案例!

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()


这里我一般喜欢用第一种方式判断,判断非空,我喜欢用StringUtils帮助类

       if (StringUtils.isEmpty(a) || a.size()==0){
                   System.out.println("集合a为空"+a);
               }

The best investment is to invest in yourself.

在这里插入图片描述

2020.09.17 愿你们奔赴在自己的热爱里!

猜你喜欢

转载自blog.csdn.net/weixin_45393094/article/details/108654136