`

浅谈java集合接口

阅读更多

java中的集合接口为什么不能存放基本数据类型?

首先,集合的存在就是为了方便对多个对象的操作才出现的,集合是存储对象最常用的一种方式,也就是说,集合的从有到无都是因为对象,人们发现要保存多个对 象很麻烦,于是便发明了集合,集合是依赖对象而生的,所以就对基本数据类型"不感兴趣",但是,现在基本数据类型都有了其对应的封装的对象,而且有了自动 拆箱和装箱功能,基本数据类型和其对应对象之间的转换变得很方便,想把基本数据类型存入集合中,直接存就可以了,系统会自动将其装箱成封装类
然后加入集合当中

例如:下面的代码中,我就直接把int类型加入了集合中,java会自动将int类型包装成Integer对象,再装入集合中

List<Integer> list = new ArrayList<Integer>();
list.add(1);
//打印结果为1
System.out.println(list.get(0));

 集合中存放的可都是对象的引用,实际内容都在堆上面或者方法区里面,但是基本数据类型是在栈上分配空间的。随时就被收回的。但是通过自动包装类就可以把基本类型转为对象类型,存放引用就解决了这个问题。

//////////////////////////////////////////////////////////////////////////

Integer是int的包装类(wrapper),是对象

int是基本数据类型


在具体的内存分配上

对象是放在堆里的,基本数据类型是放在栈里的,看看容器的具体实现,你就能更理解这些了

JAVA的集合只能放引用类型

 

貌似,各有其理论,欢迎发言,指正!

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics