判断的是list这个集合的问题,当前需要判断list内值的问题。

简述
判断一个list集合是否为空,我们的惯性思维是判断list是否等于null即可,但是在Java中,list集合为空还是为null,这是两码事。

引用
举个形象的例子,我有一个空着的水杯(list),而你没有,那你是null,我的size为0。你想装水就需要自己去买个水杯(new ArrayList();),但是我就可以直接装水(list.add(水))。你要是没有杯子直接倒水,水就流出去啦(空指针异常)。

判断
那么,我们什么时候用null,什么时候用isEmpty()或list.size()呢?

空集合
isEmpty() 或者(list.size() == 0)用于判断List内容是否为空,即表里一个元素也没有, 但是使用isEmpty()和size()的前提是,list是一个空集合,而不是null,所以为了避免异常,建议在使用或赋值list集合之前,做一次空集合创建处理,进行内存空间分配,即:

List list2 = new ArrayList()
1
list.isEmpty()和list.size()==0 没有区别, isEmpty()判断有没有元素,而size()返回有几个元素,如果判断一个集合有无元素,建议用isEmpty()方法. 这清晰,简明

null判断
list等于null,可理解为没有对list集合分配内存空间,实际上压根就不存在。
建议
所以,两者之间的区别,你懂了吧?
建议在编码时,采用:

if(list != null && !list.isEmpty()){
这个里面取list中的值
}else{
做其他处理
}
---------------------
作者:光阴迷客
来源:CSDN
原文:https://blog.csdn.net/changqing5818/article/details/52373569
版权声明:本文为博主原创文章,转载请附上博文链接!

---------------------------------------------------------------------------

转自https://www.cnblogs.com/yuanchaoyong/p/6247896.html

1、如果想判断list是否为空,可以这么判断:

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

  //为空的情况

}else{

  //不为空的情况

}

2、list.isEmpty() 和  list.size()==0  有啥区别呢

    答案:没有区别 。isEmpty()判断有没有元素,而size()返回有几个元素, 如果判断一个集合有无元素 建议用isEmpty()方法.比较符合逻辑用法。

3、list!=null  跟  ! list.isEmpty()有什么区别?

这就相当与,你要要到商店买东西list!=null         首先判断是否有商店
!list.isEmpty()     没有判断商店是否存在,而是判断商店是否有东西
总结用法:如果连商店都没有,何来的的东西可卖
所以一般的判断是
if(list!=null && !list.isEmpty()){//不为空的情况
}else{//为空的情况
}

转载于:https://www.cnblogs.com/hawk-li/p/10756715.html

[Java]list集合为空或为null的区别相关推荐

  1. 在Java开发中,判断list集合为空还是为null的区别

    在Java开发中,判断list集合为空还是为null的区别 案例测试1 为什么输出not null,是因为null判断的是否对List集合分配内存空间,为不是List集合里面内容是否为空 案例测试2 ...

  2. Java基础学习总结(127)——Java方法应该返回空对象还是null

    Java方法应该返回空对象还是null? 大多数情况下就是在需要返回值的方法中,使用空对象(empty object)来代替返回null.理由很简单,空对象与其他有意义的对象一样,使得调用方法的用户不 ...

  3. 集合判断是否为空isEmpty()与==null的区别

    前言 Java中的空指针异常确实是令人头疼的问题,今天抽空详细梳理下关于集合判断是否为空isEmpty()与==null的区别,尽量避免触发空指针异常. 集合之List isEmpty() 测试代码如 ...

  4. java中集合判空_Java中的类型安全的空集合

    java中集合判空 我以前曾在Java Collections类的实用程序上进行过博客撰写,并且特别地在使用Usings Collections Methods上的博客emptyList(),empt ...

  5. java判断集合为空_Java中判断集合类为空的方法

    *****需要引入Spring的核心Jar包***** 工具类: org.springframework.util.CollectionUtils 方法: public static boolean ...

  6. JAVA空字符串和Null的区别浅析

    空字符串:String str1 = " "; 空字符串:是一个长度为0且占内存的空字符串,在内存中分配一个空间,可以使用Object对象中的方法.例如to String( )方法 ...

  7. java判断集合为空工具_java中怎么判断集合是否为空

    java中怎么判断集合是否为空 发布时间:2020-06-25 15:43:36 来源:亿速云 阅读:103 作者:Leah 这篇文章将为大家详细讲解有关java中判断集合是否为空的方法,文章内容质量 ...

  8. Java 空字符串和null的区别【实践】

    1.空字符串 ""是一个空字符串,长度为0且占内存的,可以使用Object对象中的方法.如"".toString(). new String() 创建一个字符串 ...

  9. 1.13 空字符串和null的区别

    "" ""是一个长度为 0 且占内存的空字符串,在内存中分配一个空间,可以使用 Object 对象中的方法.例如:"".toString() ...

最新文章

  1. 逻辑回归算法c语言_逻辑回归算法背后的数学
  2. python从1到n出现了多少个1-【算法21】从1到n的正数中1的出现次数
  3. UVa307 - Sticks(DFS+剪枝)
  4. servlet解决javascript传来中文乱码问题
  5. C++实现bellman ford贝尔曼-福特算法(最短路径)(附完整源码)
  6. Java推断文本文件编码格式以及读取
  7. 华为NP课程笔记28-IEEP课件摘录
  8. flash mx拖拽实例_Flash MX 2004片段面板预览
  9. eclipse JRebel破解
  10. 十大重要IT公司排名 -2009
  11. 全球前沿技术趋势报告;华为发布Mate 40/Pro 系列新机;Windows 计算器移植到到 Linux...
  12. BZOJ 1717: [Usaco2006 Dec]Milk Patterns 产奶的模式
  13. Create an undirected graph from the adjacency list
  14. 论OIer谈恋爱的必要性
  15. NLP入门:pyltp的介绍与使用
  16. 2021辽宁省大学生程序设计竞赛 C D E F G I L
  17. ZOJ1516 Uncle Tom's Inherited Land(二分图最大匹配)
  18. 华工高级语言c 平时作业,华工高级语言程序设计平时作业
  19. Springboot+JWT+SpringSecurity+Vue+Redis 前后端分离登录(1后端)
  20. 多行显示和单行显示溢出部分为...

热门文章

  1. Java网络爬虫实操(3)
  2. JS组件系列——封装自己的JS组件,你也可以
  3. vscode使用-添加格式化插件
  4. 《Flink官方文档》示例总览
  5. EntityFramework Core 1.1是如何创建DbContext实例的呢?
  6. I/O多路复用——select
  7. 实习小白::(转) Cocos2d-x 3.0开发(十三)使用CocoStudio编辑帧事件并关联到程序...
  8. php wordpress 开源,PHP 遭弃用!WordPress.com 开源并转用 Javascript
  9. Ubuntu下安装Python开发的Facebook Faiss相似性搜索工具
  10. Leetcode 703. 数据流中的第K大元素 解题思路及C++实现