浅谈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的集合只能放引用类型

 

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值