首页 理论教育 Java程序设计:基本数据类型和包装类转换

Java程序设计:基本数据类型和包装类转换

时间:2023-11-01 理论教育 版权反馈
【摘要】:使用包装类构造方法。图7-1int类型和Integer包装类互相转换3.自动装箱和自动拆箱在JDK 1.5版本之后,Java允许基本数据类型和对应包装类之间进行自动的转换。在JDK 1.5之后,如果需要将一个基本数据类型封装成对象,例如程序第5行,编译器会将基本数据类型进行自动装箱,编译成第4行备注的语句,因此,所谓自动只是方便程序员书写,而最终编译器会根据需要再次翻译。

Java程序设计:基本数据类型和包装类转换

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)赋值给基本数据类型,否则发生空指针异常。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈