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

举报
辰兮 发表于 2022/03/22 23:19:57 2022/03/22
【摘要】 你好我是辰兮,很高兴你能来阅读,本篇整理一下集合中的一些判断为空的方式,分享给初学者,大家一起进步! 1.JAVA基础常考问题参考: JAVA面试基础常考题汇集 2.SSM框架常考参考:JA...

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

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());  //空指针异常
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

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

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

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

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

如何list集合如何判空?

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

  //为空的情况
}else{

  //不为空的情况
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
if(list!=null && !list.isEmpty()){
   //不为空的情况
}else{
   //为空的情况
}

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

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

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

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

小结一: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);
               }

  
 
  • 1
  • 2
  • 3

The best investment is to invest in yourself.

在这里插入图片描述

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

文章来源: blessing.blog.csdn.net,作者:辰兮要努力,版权归原作者所有,如需转载,请联系作者。

原文链接:blessing.blog.csdn.net/article/details/108654136

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。