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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

©   /  2011-11-19 11:37  /  2383 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

徐杨 黑马帝 2011-11-19 11:41:09
楼主
自动装箱:把一个基本数据类型直接赋给对应的包装类。
自动拆箱:把一个包装类对象直接赋给对应的基本数据类型。
典型应用:
Integer  a = 1;   1是int  自动装箱封装成了Integer对象a

评分

参与人数 1技术分 +1 收起 理由
宁超 + 1 赞一个!

查看全部评分

回复 使用道具 举报
给你回顾一下啊,老师视频上的典型例子
Integer num=1;//自动装箱
System.out.println(num+1);//自动把Integer拆箱成int类型的
这样应该能回顾起来吧,希望对你有帮助啊,

评分

参与人数 1技术分 +1 收起 理由
老罗 + 1

查看全部评分

回复 使用道具 举报
     自动装箱与拆箱常用于集合中,当往集合里面放入原生数据类型的时候,java会自动将其包装成该原生数据类型对应的包装类,这就叫装箱,反之叫拆箱。
另外需要特别说明的是:Integer类有一个缓存,它会缓存介于-128~127之间的整数。缓存是指第二次生成一个已经实例化好的实例时,Java会自动的去缓存里面寻找以前生成的实例并将该值给它,而不会再去new一个,所以之前生成和之后生成的是两个相同的实例

评分

参与人数 1技术分 +1 收起 理由
老罗 + 1

查看全部评分

回复 使用道具 举报
ZHB 黑马帝 2011-11-20 20:26:09
板凳
不懂,拿分,拿钱,谢谢!
回复 使用道具 举报
很简单,把数据类型赋给包装类就叫自动装箱
把包装类赋给数据类型就叫自动拆箱,在集合里常用,因为在集合添加的是对象,因为有自动装箱,可以直接添加数据类型。

评分

参与人数 1技术分 +1 收起 理由
老罗 + 1

查看全部评分

回复 使用道具 举报
赵超 黑马帝 2011-11-21 00:31:51
地板
简单,自动装箱就是为包装类赋以基本数据类型。自动拆箱就是为基本数据类型赋以包装类型。
回复 使用道具 举报
其实里面还有享元模式的思想。。。。只有debug跟踪源码进去才知道他整个包箱拆箱过程
回复 使用道具 举报
崔浩 黑马帝 2011-11-21 07:44:34
8#
装箱就是把基本数据类型转换成引用数据类型,引用数据类型有很多的方法和属性可以操作,而基本数据类型的开销是比较大的所以提供了
拆箱,就是把引用数据类型转换成基本数据类型,占用的内存比较小,易于初学者的理解

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
程立彬 黑马帝 2011-11-22 23:05:23
9#
自动装箱与拆箱的功能事实上是编译器来帮您的忙,编译器在编译时期依您所编写的语法,决定是否进行装箱或拆箱动作。例如:  
Integer i = 100;相当于编译器自动为您作以下的语法编译:  

Integer i = new Integer(100);

在自动装箱时对于值从–128到127之间的值,它们被装箱为Integer对象后,会存在内存中被重用。如果超过了从–128到127之间的值,被装箱后的Integer对象并不会被重用,即相当于每次装箱时都新建一个Integer对象。

评分

参与人数 1技术分 +2 收起 理由
admin + 2

查看全部评分

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