Friday, February 20, 2009

autoboxing & unboxing

Primitive类型的autoboxing、unboxing是自J2SE 5.0 开始提供的功能

在Java中,所要处理的东东几乎都是Object,然而Primitive数据类型不是对象(int、double、boolean)

有时候需要将基本数据类型转换为对象,此时就要用到打包类型(Wrapper Types)
使用一下语句将int包装为一个Integer对象:
Integer integer = new Integer(100);
在J2SE 5.0 之后提供了自动装箱的功能,以上语句可简化成:
Integer integer = 100;
同样的动作可以适用于boolean、byte、short、char、long、float、double等基本数据类型,分别会使用对应的打包类型Boolean、Byte、Short、Character、Long、Float、Double。
也可以使用更一般化的java.lang.Number类来完成自动装箱:
Number number = 3.14f;
3.14f 会先被自动装箱为Float,然后指定给number

从I2SE 5.0 开始可以自动装箱和拆箱
eg:
Integer numInteger = 100;
int numPrimitive = numInteger;

No comments:

Post a Comment