Java Wrapper-Klassen verstehen: Typen, Konvertierungen und Vorteile
Java Wrapper-Klassen
In diesem Tutorial lernen wir die Java Wrapper-Klassen anhand von Beispielen kennen.
Einführung
Java Wrapper-Klassen konvertieren primitive Typen (int, char, float etc.) in ihre entsprechenden Objekt-Repräsentationen.
Jeder der acht primitiven Typen hat eine dedizierte Wrapper-Klasse.
| Primitiver Typ | Wrapper-Klasse |
|---|---|
byte | Byte |
boolean | Boolean |
char | Character |
double | Double |
float | Float |
int | Integer |
long | Long |
short | Short |
Primitive Typen in Wrapper-Objekte konvertieren
Verwenden Sie die valueOf()-Methode, um einen primitiven Typ explizit in sein Wrapper-Objekt zu transformieren.
Beispiel 1: Primitive Typen zu Wrapper-Objekten
class Main {
public static void main(String[] args) {
int a = 5;
double b = 5.65;
Integer aObj = Integer.valueOf(a);
Double bObj = Double.valueOf(b);
if (aObj instanceof Integer) {
System.out.println("Ein Integer-Objekt wurde erstellt.");
}
if (bObj instanceof Double) {
System.out.println("Ein Double-Objekt wurde erstellt.");
}
}
}
Ausgabe:
Ein Integer-Objekt wurde erstellt. Ein Double-Objekt wurde erstellt.
Der obige Code demonstriert die explizite Konvertierung über valueOf(). Java unterstützt auch Auto-Boxing, bei dem Primitive implizit verpackt werden:
int a = 5;
Integer aObj = a;
double b = 5.6;
Double bObj = b;
Weitere Informationen zu Auto-Boxing und Unboxing finden Sie in unserem dedizierten Leitfaden.
Hinweis: Vor Java 9 konnten Wrapper-Objekte auch über Konstruktoren erstellt werden (z. B. new Integer(a)), dieser Ansatz ist jedoch veraltet.
Wrapper-Objekte in primitive Typen konvertieren
Um den zugrunde liegenden primitiven Wert abzurufen, rufen Sie die entsprechende …Value()-Methode auf dem Wrapper-Objekt auf.
Beispiel 2: Wrapper-Objekte in primitive Typen
class Main {
public static void main(String[] args) {
Integer aObj = Integer.valueOf(23);
Double bObj = Double.valueOf(5.55);
int a = aObj.intValue();
double b = bObj.doubleValue();
System.out.println("Der Wert von a: " + a);
System.out.println("Der Wert von b: " + b);
}
}
Ausgabe:
Der Wert von a: 23 Der Wert von b: 5.55
Java führt auch Unboxing automatisch durch:
Integer aObj = Integer.valueOf(2);
int a = aObj;
Double bObj = Double.valueOf(5.55);
double b = bObj;
Siehe den Artikel zu Auto-Boxing und Unboxing für tiefere Einblicke.
Vorteile von Wrapper-Klassen
- Wenn Collections Objekte erfordern, überbrücken Wrapper-Klassen die Lücke zwischen Primitiven und Objekten.
// Fehler ArrayList<int> liste = new ArrayList<>(); // Funktioniert einwandfrei ArrayList<Integer> liste = new ArrayList<>(); - Wrapper-Objekte können
nullhalten, was nullable Referenzen ermöglicht.// Generiert Fehler int a = null; // Funktioniert einwandfrei Integer a = null;
Hinweis: Primitive Typen sind im Allgemeinen effizienter als ihre Objekt-Pendants; verwenden Sie Primitive, wenn Leistung kritisch ist.
Java
- Javas final-Schlüsselwort verstehen: Variablen, Methoden und Klassen
- Java instanceof-Operator: Ein umfassender Leitfaden
- Java statische verschachtelte Klassen verstehen: Nutzung, Unterschiede und Beispiele
- Java anonyme innere Klassen meistern: Definition, Syntax und praktische Beispiele
- Java Singleton-Pattern erklärt: Sichere Implementierung und Verwendung
- Java Reflection meistern: Klassen, Methoden und Felder zur Laufzeit inspizieren
- Java ObjectOutputStream meistern: Serialisierung, Methoden und praktische Beispiele
- Java Generics meistern – Wiederverwendbaren, typsicheren Code erstellen
- Java-Dateioperationen mit java.io meistern – Erstellen, Lesen, Schreiben & Löschen
- Java Wrapper-Klassen verstehen: Typen, Konvertierungen und Vorteile