集合中null和size==0的区别
来源:互联网 发布:php倒计时提示 编辑:程序博客网 时间:2024/06/06 05:19
相信对于不了解Java引用的初学者来说,有时会不明白集合中list==null和list.size()==0的区别。这里就以基于数组的arrayList进行讲解。
List<T> list=new ArrayList<T>();
这句话的意思是创建一个容器,但是并没有往容器内部存放东西,这时候list就不为null,但是size为0。
当这句话改为List<T> list时,这句话的 意思是list==null;
接下来用专业的术语来进行讲解:List<T> list=new ArrayList<T>();
创建一个在jvm堆中的对象,接着在虚拟机栈中创建list引用变量,指向堆中的list对象。
当往list中add T对象时,其实存放的是T对象的地址,在这时候list的size就不为0了。
这里关于引用和Java内存区域,可以参考深入理解Java虚拟机第二版,这本书能够让你了解到Java中“一次编写,到处运行”的原理,可以说和think in java一样是Java程序员必读之一
阅读全文
0 0
- 集合中null和size==0的区别
- list!=null和list.size()>0的区别
- list!=null和list.size()>0的区别
- list!=null和list.size()>0的区别
- arraylist size()==0,null,isEmpty()的区别
- Arraylist size()==0,null,isEmpty()的区别
- 项目实践学习-list!=null和list.size()>0 list.isEmpty的区别
- list!=null和list.size()>0
- ArrayList list==null与ArrayList list.size()==0的区别
- str != null 和 null != null的区别
- C++中NULL和0的区别
- Java中String=null和String=""的区别
- vector 中 size()和 capacity()的区别
- Vector 中size和 capacity的区别
- java中length和size的区别
- html中size和maxlength的区别
- jquery中,size()和length的区别
- ORACLE的is null和=null的区别
- Oracle递归查询(入门篇)
- Android 原生应用嵌入React-Native模块开发-环境配置及填坑记
- bodyparser的作用
- CodeForces
- 朴素贝叶斯
- 集合中null和size==0的区别
- Cucumber概念解析与Java入门实例 (下)
- 携程Android App插件化和动态加载实践
- 文件系统层次标准FHS的详细介绍
- android基础知识---不同app的跳转,及进程的控制
- 【通信方式五】socket编程之TCP通信
- Android UI 切图命名规范、标注规范及单位描述
- (考试)2017年大一下学期C++期末考试题目四
- 使用response实现一些小功能