为什么需要 Java 包装类?

通常,当我们使用 Numbers 时,我们使用 原始数据类型如byte、int、long、double等

示例

int i = 5000;
float gpa = 13.65f;
double mask = 125; 

但是,在开发过程中,我们会遇到这样的情况:我们需要使用对象而不是原始数据类型。为了实现这一点,Java 提供了包装类

Java 包装类

  • 包装类是那些其对象在其中包装了原始数据类型。

  • java.lang 中java 包为每种基本数据类型提供了一个单独的类,即 ByteCharacter双精度整数浮点

  • 在实例化时,这些类接受直接原始数据类型,或以字符串形式。

  • 包装类提供方法,将其中的原始数据类型转换为字符串对象,并将它们与其他对象进行比较等。

  • 使用包装类,您还可以将原始数据类型添加到各种 Collection 对象,例如 ArrayList、HashMap 等。您还可以使用包装类通过网络传递原始值。

所有包装类(Integer、Long、Byte、Double、Float、Short)都是抽象类 Number 的子类。

Java 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

Boolean

Java Boolean 类将基本类型 boolean 的值包装在一个对象中。

2

Byte

Java Byte 类将基本类型 byte 的值包装在对象中。

3

Character

Java Character 类将基本类型 char 的值包装在对象中。

4

Double

Java Double 类将基本类型 double 的值包装在对象中。

5

Float

Java Float 类将基本类型 float 的值包装在对象中。

6

Integer

Java Float 类将原始类型 float 的值包装在对象中。

7

Long

Java Long 类包装原语的值在对象中输入 long。

8

Short

Java Short 类将原始类型 Short 的值包装在一个对象中。