In diesem Tutorial lernen wir anhand von Beispielen das Autoboxing und Unboxing von Java kennen.
Java Autoboxing - Primitiver Typ für Wrapper-Objekt
Beim Autoboxing konvertiert der Java-Compiler primitive Typen automatisch in die entsprechenden Wrapper-Klassenobjekte. Beispielsweise,
int a = 56; // autoboxing Integer aObj = a;
Autoboxing hat einen großen Vorteil bei der Arbeit mit Java-Sammlungen.
Beispiel 1: Java Autoboxing
import java.util.ArrayList; class Main ( public static void main(String() args) ( ArrayList list = new ArrayList(); //autoboxing list.add(5); list.add(6); System.out.println("ArrayList: " + list); ) )
Ausgabe
ArrayList: (5, 6)
Im obigen Beispiel haben wir eine Array-Liste vom Typ Integer erstellt. Daher kann die Array-Liste nur Objekte vom Integer
Typ enthalten.
Beachten Sie die Linie,
list.add(5);
Hier übergeben wir den primitiven Typwert. Aufgrund von Autoboxen wird der Grundwert jedoch automatisch in ein Integer
Objekt konvertiert und in der Array-Liste gespeichert.
Java Unboxing - Wrapper-Objekte in primitive Typen
Beim Unboxing konvertiert der Java-Compiler Wrapper-Klassenobjekte automatisch in ihre entsprechenden primitiven Typen. Beispielsweise,
// autoboxing Integer aObj = 56; // unboxing int a = aObj;
Wie Autoboxing , Unboxing kann auch mit Java Sammlungen verwendet werden.
Beispiel 2: Java Unboxing
import java.util.ArrayList; class Main ( public static void main(String() args) ( ArrayList list = new ArrayList(); //autoboxing list.add(5); list.add(6); System.out.println("ArrayList: " + list); // unboxing int a = list.get(0); System.out.println("Value at index 0: " + a); ) )
Ausgabe
ArrayList: (5, 6) Wert bei Index 0: 5
Beachten Sie im obigen Beispiel die Zeile:
int a = list.get(0);
Hier gibt die get()
Methode das Objekt am Index 0 zurück. Aufgrund des Unboxing wird das Objekt jedoch automatisch in den primitiven Typ konvertiert int
und der Variablen a zugewiesen.