📅  最后修改于: 2023-12-03 15:02:06.041000             🧑  作者: Mango
在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。