为什么需要 Java 包装类?
通常,当我们使用 Numbers 时,我们使用 原始数据类型如byte、int、long、double等
示例
int i = 5000;
float gpa = 13.65f;
double mask = 125;
但是,在开发过程中,我们会遇到这样的情况:我们需要使用对象而不是原始数据类型。为了实现这一点,Java 提供了包装类。
Java 包装类
包装类是那些其对象在其中包装了原始数据类型。
在 java.lang 中java 包为每种基本数据类型提供了一个单独的类,即 Byte、Character、双精度、整数、浮点、长、短。
在实例化时,这些类接受直接原始数据类型,或以字符串形式。
包装类提供方法,将其中的原始数据类型转换为字符串对象,并将它们与其他对象进行比较等。
使用包装类,您还可以将原始数据类型添加到各种 Collection 对象,例如 ArrayList、HashMap 等。您还可以使用包装类通过网络传递原始值。
所有包装类(Integer、Long、Byte、Double、Float、Short)都是抽象类 Number 的子类。
Java 包装类的对象
包装类的对象包含或包装其各自的原始数据类型。将原始数据类型转换为对象称为装箱,这是由编译器负责的。因此,在使用包装类时,您只需将原始数据类型的值传递给 Wrapper 类的构造函数即可。
并且 Wrapper 对象将被转换回原始数据类型,这样这个过程称为拆箱。 Number 类是 java.lang 包的一部分。
创建 Java 包装类对象
在 Java 中,要创建包装对象,您必须使用包装类而不是原始数据类型。
如果要打印这些对象的值,只需打印该对象即可。
考虑以下语法:
wrapper_class object_name = value;
Java 包装类示例
以下是装箱和拆箱示例 -
在此示例中,我们通过包装类展示了基元及其操作的使用。在第一个语句中,我们将 int 分配给 Integer 对象 x,这称为装箱。在第二条语句中,我们将 x 加 10,这需要将 x 拆箱为 int 并执行加法,并将结果分配回变量 x 并打印。
public class Test {
public static void main(String args[]) {
Integer x = 5; // 将 int 装箱为 Integer 对象
x = x + 10; // 将 Integer 拆箱为 int
System.out.println(x);
}
}
输出
15
当为 x 分配一个整数值时,编译器会对该整数进行装箱,因为 x 是整数对象。稍后,x 被拆箱,以便它们可以作为整数相加。
Java 包装类列表
以下是 Number 类的所有子类所使用的包装类列表−
序号. | 类和描述 |
---|---|
1 | Java Boolean 类将基本类型 boolean 的值包装在一个对象中。 |
2 | Java Byte 类将基本类型 byte 的值包装在对象中。 |
3 | Java Character 类将基本类型 char 的值包装在对象中。 |
4 | Java Double 类将基本类型 double 的值包装在对象中。 |
5 | Java Float 类将基本类型 float 的值包装在对象中。 |
6 | Java Float 类将原始类型 float 的值包装在对象中。 |
7 | Java Long 类包装原语的值在对象中输入 long。 |
8 | Java Short 类将原始类型 Short 的值包装在一个对象中。 |