黑马程序员技术交流社区

标题: 关于自动装箱、拆箱的疑问 [打印本页]

作者: 朱盛文    时间: 2013-3-15 22:39
标题: 关于自动装箱、拆箱的疑问
本帖最后由 朱盛文 于 2013-3-16 20:25 编辑

自动装箱、拆箱的特点什么?以及两者的体现?是怎么装的箱,又是怎么拆的箱?
求详细的解答,并加代码说明。
作者: tianyun    时间: 2013-3-15 22:47
自动装箱和拆箱是java1.6新增的功能,其特点是,访问装箱对象时会更具上下文环境决定对象的类型为基本数据类型,还是引用数据类型。
常用环境
ArrayList al=new ArrayList();
a1.add(1);
由于集合类只能储存基本数据对象,所以add方法会采用 new Interger()新建一对象,然后添加。
作者: tianyun    时间: 2013-3-15 22:51
补充:Integer i=new Integer(1);
Integer j=new Integer(2);
int i=j-i;会将Integer转换为基本数据类型,在运算。
作者: 123    时间: 2013-3-15 22:58
自动装箱:
把一个基本类型变量直接赋给对应的包装类变量,或者赋给Object变量(Object是所有类的父类,子类对象可以直接赋给父类变量。如:
Integer inobj=5;
自动拆箱:
允许直接把包装类对象直接赋给一个对应的基本类型变量。如:
int it=inobj;(上面代码的inobj)






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2