自动装箱和拆箱有时需要将int这样的基本类型转换为引用类型对象;基本数据类型的自动装箱,拆箱是J2SE 5.0提供的新功能,为打包基本数据类型提供了方便,但提供方便的同时隐藏了细节,建议在能够区分基本数据类型与引用类型的差别时再使用;一个自动装箱的例子:Integer i=10; ...
自动装箱和拆箱
有时需要将int这样的基本类型转换为引用类型对象;
基本数据类型的自动装箱,拆箱是J2SE 5.0提供的新功能,为打包基本数据类型提供了方便,但提供方便的同时隐藏了细节,建议在能够区分基本数据类型与引用类型的差别时再使用;
一个自动装箱的例子:
Integer i=10;相当于Integer i=new Integer(10);
进行编译时,编译器根据上下文判断是否进行自动装箱动作,在上例中变量i引用的是Integer类的实例;
同样的动作适用于boolean、byte、short、char、long、float、double等基本数据类型,分别使用对应的包装类型Boolean、Byte、Short、Character、Long、Float、Double;
J2SE 5.0中也可以自动拆箱,也就是将对象中的基本数据类型信息自动取出;
例如:
1 Integer m=10; 2 Int n=m; 3 //相当于n=m.intValue();
m变量在自动装箱为Integer的实例后,如果被赋值给一个int类型的变量n,则会自动转换为int类型再赋值;
在运算时,也可以进行自动装箱和拆箱;
如:
1 Integer i=10; 2 System.out.println(i+10); 3 System.out.println(i++);
1 public class AutoBoxDemo{ 2 public static void main(String[] args){ 3 int i=10; 4 double d=10.5; 5 6 //把基本类型赋值给引用类型 7 //基本类型会在编译时自动装箱 8 Integer num1=i; 9 Double num2=d;10 System.out.println(num1);11 System.out.println(num2);12 13 //把包装类(引用类型)赋值给基本类型14 //会自动做拆箱15 int j=num1;16 //int j=num1.intValue();17 double dd=num2;18 //int dd=num2.doubleValue();19 System.out.println(j);20 System.out.println(dd);21 22 Object o=i;23 System.out.println(o);24 Integer b=(Integer)o;25 System.out.println(b);26 }27 }
原标题:Java学习 (十七)、自动装箱和拆箱,枚举类型
关键词:JAVA
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。