1.基本数据类型转换为包装类
这里讲解两种方法:
(1)调用包装类的valueOf方法。以int为例,方法声明为public static Integer valueOf(int i),该方法返回一个表示指定的int值的Integer实例。
(2)使用包装类构造方法。以int为例,构造方法public Integer(int value)根据int值value构造一个新分配的Integer对象。
2.包装类转换为基本数据类型
包装类对象转换为对应基本数据类型,调用包装类对象的xx Value()方法。以Integer包装类为例,方法声明为public int int Value(),表示以int类型返回该Integer的值。
【例7-1】
以int类型和Integer包装类为例,演示它们之间的转换。
新建项目chapter7,在src目录下新建包cn.linaw.chapter7.demo01。在包下新建测试类Wrapper Class Test1,如图7-1所示。
(www.xing528.com)
图7-1 int类型和Integer包装类互相转换
3.自动装箱和自动拆箱
在JDK 1.5版本之后,Java允许基本数据类型和对应包装类之间进行自动的转换。
【例7-2】
演示自动装箱和自动拆箱。
测试类Wrapper Class Test2如图7-2所示。
图7-2 自动装箱和自动拆箱
装箱(boxing)是将基本数据类型转换成对应包装类对象的过程,反之即为拆箱(unboxing)。在JDK 1.5之后,如果需要将一个基本数据类型封装成对象,例如程序第5行,编译器会将基本数据类型进行自动装箱,编译成第4行备注的语句,因此,所谓自动只是方便程序员书写,而最终编译器会根据需要再次翻译。程序第7行的自动拆箱在编译后也成了第6行的语句,在自动拆箱时,要避免将空指针(null)赋值给基本数据类型,否则发生空指针异常。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。