📜  Java程序将原始类型转换为对象,反之亦然(1)

📅  最后修改于: 2023-12-03 15:02:06.041000             🧑  作者: Mango

Java程序实现原始类型与对象的转换

在Java中,原始类型和对象类型是有区别的。原始类型指的是Java中的基本类型,如int、double、boolean等;对象类型则指的是Java中的类、接口、数组等引用类型。有时候我们需要在原始类型和对象之间进行转换,本篇文章将介绍如何在Java程序中实现这种转换。

原始类型转换为对象

将原始类型转换为对象,最常用的方式是利用该原始类型对应的包装类。Java提供了8个包装类,用于将原始类型转化为对象类型,其对应关系如下:

| 原始类型 | 包装类 | | -------- | ------ | | boolean | Boolean| | char | Character| | byte | Byte| | short | Short| | int | Integer| | long | Long| | float | Float| | double | Double|

下面是一个将int转换为Integer的例子:

int i = 123;
Integer integer = Integer.valueOf(i);

其中,valueOf()方法将int类型的变量i转换为Integer类型的对象。

对象转换为原始类型

对象类型转换为原始类型,可以使用类型转换符号直接将对象类型转换为对应的原始类型。下面是一个将Integer转换为int的例子:

Integer integer = new Integer(123);
int i = integer.intValue();

其中,intValue()方法将Integer类型的对象转换为int类型的原始值。

需要注意的是,当原始类型的值为null时,转换为对象类型的结果仍然为null。例如:

Integer integer = null;
int i = integer.intValue(); // NullPointerException

因此,在进行类型转换的时候,需要判断对象是否为null,以避免出现NullPointerException。

自动装箱和拆箱

Java 1.5之后,增加了自动装箱和拆箱的功能,使得原始类型和其对应的包装类之间进行转换更加方便。自动装箱指的是将原始类型自动转换为对应的包装类型;自动拆箱则是将包装类型自动转换为对应的原始类型。下面是一个使用自动装箱和拆箱的例子:

int i = 123;
Integer integer = i; // 自动装箱
int j = integer; // 自动拆箱
总结

Java程序中,原始类型和对象类型有区别,但是它们之间可以相互转换。使用包装类、类型转换符号、自动装箱和拆箱等方式可以实现原始类型和对象类型之间的转换。在进行类型转换的时候,需要注意对象是否为null。