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的集合只能放引用类型
貌似,各有其理论,欢迎发言,指正!
相关推荐
浅谈JAVA集合框架及其应用
浅谈JAVA集合框架及其应用.pdf
浅谈Java中Mysql数据库的连接与操作.pdf
浅谈Java优势,关于java优势......
关于java集合框架的,多个文档,但和在一起就不能预览了,所以单个上传,个别的收几分,其他的不收分
主要介绍了浅谈java调用Restful API接口的方式,具有一定借鉴价值,需要的朋友可以参考下。
浅谈Java软件测试.pdf
浅谈Java串行端口技术协议 浅谈JAVA串行端口技术协议 1 一、串行通讯慨述 2 二、RS232通讯基础 2 三、常见的边线方式 2 四、小技巧:如何辨别TXD和RXD端口? 3 五、安装JAVA COMMUNICATIONS API 3 六、通讯前的准备...
浅谈java中的几种随机数,浅谈java中的几种随机数,浅谈java中的几种随机数,浅谈java中的几种随机数
浅谈Java的输入输出流.pdf 浅谈Java的输入输出流.pdf
浅谈java代理机制 .txt 浅谈java代理机制 .txt
Java基础之浅谈集合.doc
。。。
。。。
浅谈Java程序员的存储过程.doc 浅谈Java程序员的存储过程.doc浅谈Java程序员的存储过程.doc
浅谈Java的输入输出流
浅谈JAVA技术.pdf
浅谈JAVA语言.pdf
浅谈Java异常.docx
浅谈java面向对象和引用,初学java的一些疑惑点