黑马程序员技术交流社区
标题:
自动拆箱、装箱问题
[打印本页]
作者:
公子-醉香
时间:
2013-12-15 11:51
标题:
自动拆箱、装箱问题
public class AutoUnbox {
public static void main(String[] args) {
// TODO Auto-generated method stub
Integer data11=new Integer(10);//实现int类型转换对象
Integer data12=new Integer(10);
Integer data21=Integer.valueOf(10);
Integer data22=Integer.valueOf(10);//实现int类型转换对象
Integer data31=20;
Integer data32=20;
int sum1=data11+20;
int sum2=data31+20;
System.out.println("sum1的值为"+sum1);
System.out.println("sum2的值为"+sum2);
//问题:data11与data12是否为同一个对象?
// data21与data22是否为同一个对象?
// data31与data32是否为同一个对象?
}
}
复制代码
作者:
丑男先生。
时间:
2013-12-15 12:31
记住它的感念就好了啦,本人不才,总结了下,只做参考,
所谓装箱,就是把基本类型用它们相对应的引用类型包起来,使它们可以具有对象的特质,如我们可以把int型包装成Integer类的对象,或者把double包装成Double,等等。
所谓拆箱,就是跟装箱的方向相反,将Integer及Double这样的引用类型的对象重新简化为值类型的数据
J2SE5.0后提供了自动装箱与拆箱的功能,此功能事实上是编译器来帮您的忙,编译器在编译时期依您所编写的方法,决定是否进行装箱或拆箱动作。
自动装箱的过程:每当需要一种类型的对象时,这种基本类型就自动地封装到与它相同类型的包装中。
自动拆箱的过程:每当需要一个值时,被装箱对象中的值就被自动地提取出来,没必要再去调用intValue()和doubleValue()方法。
自动装箱,只需将该值赋给一个类型包装器引用,java会自动创建一个对象。例如:
Integer i=100; //没有通过使用new来显示建立,java自动完成。
加上上面哥们的指例说明,希望对你有所帮助哈!
作者:
ζ丶凡σ
时间:
2013-12-15 18:00
赞..........
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2