list!=null和list.size()>0的区别
来源:互联网 发布:c语言程序 编辑:程序博客网 时间:2024/06/07 00:55
在此特别说明一下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 。
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 。
阅读全文
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++)的区别
- AtCoder Grand Contest 001 F permutation
- Input值改变触发的事件
- Mac原生开启本地服务器的两种方法
- log4j完整版把错误信息放到日志中
- 数组的空位与undefined的注意点
- list!=null和list.size()>0的区别
- BZOJ 4800: [Ceoi2015]Ice Hockey World Championship
- [Leetcode] 420. Strong Password Checker 解题报告
- Xcode9 上传遇到的问题
- SQL 行列倒置
- Android反编译工具与技巧总结
- JavaMail实现注册邮箱验证案例
- echarts 饼图 结合thinkphp 的使用
- OpenGL学习: uniform blocks(UBO)在着色器中的使用