在此特别说明一下list!=null和list.size()>0的区别:
1.list==null,意味着list压根没有地址,在堆内就不存在。
2.list.size()=0 意思堆内有list但是还没来得及放元素,其长度随着元素数量变化而变化,暂时为零。
3.list如果为null的话,说明没有进行初始化。这是list调用任何的方法都会抛出空异常。list.size()==0说明list已经被new过,但是里面没有值。
4.区别:
①有没有瓶子 list != null
②瓶子里有没有水 list.isEmpty()
判断的时候一定要注意先后顺序
如果没有瓶子都没有,直接判断有没有水,是会报nullException的
③另外:
list.add(null)
会造成list.isEmpty() 为 false, list.size() 为1
所以代码里要避免list.add(null)的陷阱
④比较形象一个比喻:
举个形象的例子,我有一个空着的水杯(list),而你没有,那你是null,我的size为0。你想装水需要去买个水杯(new ArrayList();),我就可以直接装水(list.add(水))。你要是没有杯子直接倒水,水就流出去啦(空指针异常)。所以用做判断的时候经常连用 list!=null && list.size()!=0 。

Java中list==null与list.size( )==0的区别相关推荐

  1. Java中有关Null的9件事

    对于Java程序员来说,null是令人头痛的东西.时常会受到空指针异常(NPE)的骚扰.连Java的发明者都承认这是他的一项巨大失误.Java为什么要保留null呢?null出现有一段时间了,并且我认 ...

  2. java中的null类型---有关null的9件事

    摘自 https://blog.csdn.net/qq_25077777/article/details/80174763 今天听到一个问题,java中的null类型,null竟然是一种类型 java ...

  3. java 删除二维数组中的null_避免在Java中检查Null语句

    1.概述 通常,在Java代码中处理null变量.引用和集合很棘手.它们不仅难以识别,而且处理起来也很复杂.事实上,在编译时无法识别处理null的任何错误,会导致运行时NullPointerExcep ...

  4. 在java中对null的理解

    转载:https://www.cnblogs.com/X-World/p/5686122.html Java中的Null是什么? 1)首先,null是关键字,像public.static.final. ...

  5. JAVA 中的null

    为什么80%的码农都做不了架构师?>>>    对于Java程序员来说,null是令人头痛的东西.时常会受到空指针异常(NPE)的骚扰.连Java的发明者都承认这是他的一项巨大失误. ...

  6. java 0x01什么意思_null有哪些常见的意思?(Java中的null到底是什么意思?)

    让我们从下面的陈述开始: 1. 这句话到底是什么意思? 回想一下什么是变量,什么是值. 一个常见的比喻是变量类似于一个盒子. 就像您可以使用一个框来存储某些东西一样,您也可以使用一个变量来存储一个值. ...

  7. java中的null

    java中的null类型-有关null的9件事 深入Java关键字null Java null你真的会用吗,为什么Google程序员都在推荐慎用? null是什么? null是Java中一个很重要的概 ...

  8. c语言stdio中null的值,C/C++编程笔记:C语言NULL值和数字 0 值区别及NULL详解

    原创 程序员无言 2020-07-01 在学习C语言的时候,我们常常会碰到C语言NULL值和数字 0 ,很多小伙伴搞不清楚他们之间的一个区别,今天我们就了解一下他们之间的区别,一起来看看吧! 先看下面 ...

  9. java 返回空数组_避免在Java中检查Null语句

    1.概述 通常,在Java代码中处理null变量.引用和集合很棘手.它们不仅难以识别,而且处理起来也很复杂.事实上,在编译时无法识别处理null的任何错误,会导致运行时NullPointerExcep ...

最新文章

  1. unicode 版本 delphi (如XE2)的 TBytes 转换为 AnsiString
  2. Sliverlight MD5
  3. 2015总结及2016计划
  4. 修改Oracle最大连接数
  5. 封装jquery插件 uoload file
  6. THREEJS - 获取场景中模型数据
  7. php爬取网站所有链接,php 爬取超链接
  8. 博客随笔《文章目录——java》大纲
  9. 赛程安排 单循环赛 matlab程序
  10. 跟我一起走进内联汇编的世界
  11. Python求极限求积分,编程实现
  12. 虚拟机安装Win7系统
  13. 天津大学仁爱学院计算机科学与技术学费,天津大学仁爱学院计算机科学与技术专业2016年在天津理科高考录取最低分数线...
  14. R语言入门(2)时间序列分析原理
  15. COMP SCI 4094/4194/7094 - Distributed Databases and Data Mining
  16. pip3 install XXX加快下载速度
  17. 抖音网页版入口登录链接地址
  18. 研华PCI板卡开发(5)快速入门(5)群组操作
  19. 思博伦OpenFlow性能测试白皮书(上)
  20. CUMT矿大----电路与数字系统实验四 计数、译码、显示的HDL设计

热门文章

  1. 安卓9开机 bootanimation.zip_小米手机如何从安卓10退回安卓9系统,不丢失传感器,不变砖...
  2. 【转载】进程与线程的区别
  3. boost asio异步通信
  4. hdu 1255 覆盖的面积 (Bruceforce)
  5. PowerDesigner模型设计1
  6. 利用Pin分析程序的动态行为特征
  7. window.open的小问题
  8. 【个人笔记】OpenCV4 C++ 图像处理与视频分析 08课
  9. java 正则 html 标签_Java正则 HTML 标签 得到 纯文本
  10. mysql 5.5 双机热备_mysql 5.5双机热备份 master-master