A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 伊廷文 中级黑马   /  2013-3-27 18:07  /  1664 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

集合为什么不能存储基本数据类型值

点评

 如果你的问题已经得到解决,请及时将主题改为[已解决],如果还有问题请继续追问,谢谢  发表于 2013-3-27 22:52

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

4 个回复

倒序浏览
是因为集全是用来封装对象的。

在内存中集合存的并不是这个对象,而是这个对象的索引。
而基本数据类型是值传递的,完全可以用数组来存储,

如果你非要用集合来存的话,你就把集合的泛型定义成包装类吧。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
集合是存储对象的最常用的一种方式,只能存储对象,不过可以存放基本数据类型的包装类。
数组虽然也可以存储对象,但长度是固定的,适合存储基本数据类型。
集合的长度是可以变的,只能存储对象。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报

(1)
对象多了用集合存,数据多了用对象存,,比如姓名年龄封装到对象里面,,

(2)

为什么出现集合类?
面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式。


(3)

集合类的特点
集合只用于存储对象,集合长度是可变的,集合可以存储不同类型的对象。


(4)

当你想存储基本数据类型时就把基本数据类型转为相对应的包装类,,,转成包装类后就能存储到集合中了,,,

                Integer in=12;
                ArrayList li=new ArrayList();
                li.add(in);

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
楼主,毕老师说了,集合中存放的不是对象本身的值,而是对象的引用值,你说的基本数据类型就没有引用值这个概念了,基本数据类型是存放在栈内存中的,而我们说的对象都是放在堆的,引用值才放在栈中。
希望你帮到你!

评分

参与人数 1黑马币 +9 收起 理由
樊玲 + 9

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马