当需要对一个LIst进行判空操作时我们可使用如下两个语句:

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

if (list != null && list.size() != 0) {}
可能会有人疑问如果满足 list == null ,那么这个list不就为空了吗?为什么还要再使用另一个条件 list.size == 0 呢?

首先我们需要先弄懂这两个判断条件分别代表什么含义:

  1. list == null :用于判断list有没有初始化,也就是list是否被赋为null,如 List list = null; ,满足该条件的话list中是没有数据的

  2. list.size == 0 :用于判断list中是否有数据,满足该条件时list中也是没有数据的

如果只使用 list == null :一旦list进行了初始化 List list2 = new ArrayList(); ,此时list就不再为null了,但list内并没有数据。如果只使用 list == null 来判断是否为空的话,就会判断错误。

如果只使用 list .size == 0 :如果list并没有进行初始化,使用该条件时会报空指针错误,就无法达到判空的目的。因此在使用该条件时,一定要判断list是否进行了初始化

Java:List判空的条件:List=null 和 List.size = 0 当需要对一个LIst进行判空操作时我们可使用如下两个语句:相关推荐

  1. Java中list==null与list.size( )==0的区别

    在此特别说明一下list!=null和list.size()>0的区别: 1.list==null,意味着list压根没有地址,在堆内就不存在. 2.list.size()=0 意思堆内有lis ...

  2. php empty判断0,PHP empty() 检测一个变量是否为空

    empty() 函数用于检测一个变量是否为空. empty() PHP empty() 用于检测一个变量是否为空,如果被检测的变量为空则返回 TRUE,否则返回 FALSE . 语法: bool em ...

  3. 判断list集合不为空的方法,返回的是size == 0

    if(!CollectionUtils.isEmpty(applyMealRecordEntities)){ //不为空的情况 }else{ //为空的情况(比如,这个日期还没人报餐) return ...

  4. 头指针为head的带头结点的单链表判空条件head->next==null?

    由于考研需求,又乖乖滚回来捧起数据结构了,一年没碰书,忘得都差不多了,还得捡回来,哭死了. 进入正题,为何头指针为head的带头结点的单链表判空条件head->next==null?其实一开始这 ...

  5. 浅谈Java设计之——Java初始化数组(List/Map)时为何要空数组而不是null

    我是先学习的C++再学习的Java,这样的路线会让我在学习Java的时候省下很多功夫,但是也给我带来了挺多困扰 一个很大的问题就是两者对待引用数据类型的态度区别很大. Java为了考虑安全,删除了指针 ...

  6. java数据结栈空的条件表达式_数据结构——栈和队列例题

    1.若一个栈的输入序列为1,2,3,-,n,输出序列的第一个元素是i,则第j个输出元素是_____. 选项ABCD均错误,第j个输出元素应为i-j+1. 栈是一种先进后出的数据结构,也就是说如果入栈顺 ...

  7. 如何在Java代码中去掉烦人的“!=null”

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 译者:lizeyang blog.csdn.net/lizeyan ...

  8. sqlsession.selectlist 会返回null么_如何在Java代码中去掉烦人的“!=null”

    问题 为了避免空指针调用,我们经常会看到这样的语句 if (someobject != null) { someobject.doCalc(); } 最终,项目中会存在大量判空代码,多么丑陋繁冗!如何 ...

  9. 判断数组是否为空的条件

    设一个二维数组为a[][],判断其为空的条件有以下三点: 1.数组首地址是否为空(a==null) 2.是否为{},也就是array.length==0的情况 3.是否为{{}},这时array.le ...

最新文章

  1. 苹果7支持快充吗_支持苹果20W+华为22.5W快充,倍思发布迷你数显快充移动电源...
  2. 计算机应用基础2004年,计算机应用基础2004年下半年全国试题参考答案2
  3. Linux:网络编程
  4. 刚刚,阿里云上线六大“战疫情”项目
  5. cv2 imwrite中文路径_python3下使用cv2.imwrite存储带有中文路径图片的方法
  6. 内网(局域网)中共享文件
  7. HIT Software Construction Review Notes(3-1 Data Type and Type Checking)
  8. 截取字符串,计算字符串字节大小,选择文件夹,上传文件
  9. 【Redis笔记】数据结构和对象:字典
  10. mysql查看enum和set值_mysql中的enum和set类型_MySQL
  11. 用python做炒股软件-python通达信接口_基于python的炒股软件
  12. UDP中sendto()和recvfrom()两个函数的使用
  13. nginx代理安装ssl证书
  14. 项目经理和产品经理的职责
  15. RJ11电话线水晶头制作方法(图解)
  16. SMAA算法详解 - SMAADetectHorizontalCornerPattern
  17. 《联盟》读书笔记(三):如何协调员工与公司的目标和价值观
  18. 眼花缭乱的家电市场,我们到底需要一台什么样的电视?
  19. 算法笔记(胡凡)刷题收获@Kaysen
  20. 【工具】动图展示 60+ 个前端常用插件库合集

热门文章

  1. DRF parser请求流程
  2. 6.表单提交,input键盘变搜索,有关自定义属性input操作
  3. 人脸识别中常用的几种分类器
  4. 二叉树的创建及各种遍历
  5. [转用 jsfl 扩展你的 flash
  6. 微信小程序商机_微信小程序怎么用?有哪些商机?
  7. mpAndroidchart 坐标和图表距离_数据对比图表,如何让你的总结报告更具说服力!...
  8. EditPlus运行java时如何从键盘输入数据
  9. Android Studio全局搜索Ctrl+Shift+F占用解决
  10. tensorflow之lenet训练手写字及应用