list!=null和list.size()>0的区别
来源:互联网 发布:知满天怎么样 编辑:程序博客网 时间:2024/06/06 06:52
今天做判断的时候遇到一个问题:我在判断list是否为空的时候,用 list.size()>0,结果catch就捕捉到了异常,因为list获取值为空,而直接使用 list !=null 的时候就顺利执行,在这里 搜到一些相关的比较:
list如果为空的话,说明没有进行初始化,list压根没有地址,在堆内就不存在,当list调用任何的方法都会抛出空异常,所以当list.size()时,理所当然报了异常!
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 。
但我一般用 list !=null也不会出什么错。
阅读全文
0 0
- list!=null和list.size()>0的区别
- list!=null和list.size()>0的区别
- list!=null和list.size()>0的区别
- 项目实践学习-list!=null和list.size()>0 list.isEmpty的区别
- list!=null和list.size()>0
- ArrayList list==null与ArrayList list.size()==0的区别
- List容器 的 if (list == null) if( list.size() == 0) 的使用
- list==null 和 list.isEmpty() 的区别
- list==null和list.isEmpty()的区别
- List isEmpty()和size()==0 有什么区别
- 如何判断List是否为空,也就是list.isEmpty()和list.size() == 0 有何区别
- 集合中null和size==0的区别
- list==null不等同于list.size()==0
- List 为空和 size为零的区别
- java判断list为空、xxx==null和xxx.equals(null)的区别
- C++ STL中判断list为空,size()==0和empty()有什么区别
- C++ STL中判断list为空,size()==0和empty()有什么区别
- for(int i=0;i<list.size();i++) 与 for(int i=0,len=list.size();i<len;i++)的区别
- 设计模式(5)-建造者模式
- 合格的数据分析师是怎么做分析的?
- C++排序算法代码汇总
- oralce,分区、子分区、分区索引,分区索引数据查询sql
- Linux驱动框架----platform简介明了的介绍
- list!=null和list.size()>0的区别
- malloc函数
- Ubuntu下 嵌入式Qt开发环境的搭建
- Android动画使用简介
- 【Scikit-Learn 中文文档】把它们放在一起
- React_Native 再学习4——导航进阶之DrawerNavigator
- Prim算法 Kruskal算法
- Socket编程
- iOS