Eine Wrapper-Klasse in Java ist eine spezielle Klasse, die verwendet wird, um primitive Datentypen (wie z. B. int, double, char usw.) in Objekte einzubetten. Die Funktion der Wrapper-Klasse besteht darin, den grundlegenden Datentyp mit den Merkmalen des Objekts zu versehen, z. B. ihn als Parameter an eine generische Klasse oder Methode zu übergeben, die Methode des Objekts aufzurufen, sie in einer Sammlung zu speichern und so weiter .
Java bietet eine entsprechende Wrapper-Klasse für jeden grundlegenden Datentyp, wie in der folgenden Tabelle gezeigt:
grundlegender Datentyp | Verpackung |
---|---|
Byte | Byte |
kurz | Kurz |
int | Ganze Zahl |
lang | Lang |
schweben | Schweben |
doppelt | Doppelt |
verkohlen | Charakter |
boolesch | Boolesch |
Um eine Wrapper-Klasse zu verwenden, müssen Sie zuerst ein Objekt der Wrapper-Klasse erstellen. Es gibt zwei Möglichkeiten, ein Objekt der Wrapper-Klasse zu erstellen: Die eine besteht darin, den Konstruktor zu verwenden, und die andere besteht darin, die statische Methode valueOf zu verwenden. Hier sind beispielsweise zwei Möglichkeiten, ein Integer-Objekt zu erstellen:
// 使用构造方法
Integer i1 = new Integer(10); // 创建一个值为 10 的 Integer 对象
// 使用静态方法 valueOf
Integer i2 = Integer.valueOf(20); // 创建一个值为 20 的 Integer 对象
Nachdem das Objekt der Wrapper-Klasse erstellt wurde, können die Methoden der Wrapper-Klasse verwendet werden, um die grundlegenden Datentypen zu manipulieren. Die Wrapper-Klasse stellt einige häufig verwendete Methoden bereit, wie in der folgenden Tabelle gezeigt:
Methodenname | veranschaulichen |
---|---|
intWert | Gibt den dem Objekt entsprechenden int-Wert zurück |
doppelterWert | Gibt den Double-Wert zurück, der dem Objekt entspricht |
Zeichenwert | Gibt den dem Objekt entsprechenden Char-Wert zurück |
boolescherWert | Gibt den dem Objekt entsprechenden booleschen Wert zurück |
vergleichen mit | Vergleicht die Größe dieses Objekts mit einem anderen Objekt und gibt eine negative, null oder positive Zahl zurück |
gleich | Bestimmt, ob dieses Objekt gleich einem anderen Objekt ist |
gibt eine Zeichenfolgendarstellung dieses Objekts zurück | |
analysierenXXX | Analysieren Sie eine Zeichenfolge in entsprechende grundlegende Datentypen wie parseInt, parseDouble usw. |
Konvertieren Sie einen primitiven Datentyp oder String in das entsprechende Wrapper-Klassenobjekt |
Hier sind zum Beispiel einige Beispiele, die Wrapper-Klassenmethoden verwenden:
// 使用 intValue 方法
int i3 = i1.intValue(); // 将 i1 对象转换成 int 值
System.out.println(i3); // 输出 10
// 使用 compareTo 方法
int i4 = i1.compareTo(i2); // 比较 i1 和 i2 的大小
System.out.println(i4); // 输出 -1
// 使用 parseDouble 方法
double d1 = Double.parseDouble("3.14"); // 将字符串 "3.14" 解析成 double 值
System.out.println(d1); // 输出 3.14
// 使用 valueOf 方法
Boolean b1 = Boolean.valueOf(true); // 将 boolean 值 true 转换成 Boolean 对象
System.out.println(b1); // 输出 true
Zusätzlich zu Methoden von Wrapper-Klassen können Sie auch Autoboxing und Autounboxing verwenden, um Ihren Code zu vereinfachen. Auto-Boxing bezeichnet die automatische Konvertierung von Grunddatentypen in entsprechende Verpackungsobjekte, Automatic Unboxing bezeichnet die automatische Konvertierung von Verpackungsobjekten in entsprechende Grunddatentypen. Hier sind zum Beispiel einige Beispiele für die Verwendung von Autoboxing und Autounboxing:
// 自动装箱
Integer i5 = 30; // 相当于 Integer i5 = Integer.valueOf(30);
Double d2 = 3.14; // 相当于 Double d2 = Double.valueOf(3.14);
// 自动拆箱
int i6 = i5; // 相当于 int i6 = i5.intValue();
double d3 = d2; // 相当于 double d3 = d2.doubleValue();
// 自动装箱和自动拆箱可以用在运算中