In deze tutorial leren we met behulp van voorbeelden over Java autoboxing en unboxing.
Java Autoboxing - Primitive Type to Wrapper Object
Bij autoboxing converteert de Java-compiler automatisch primitieve typen naar hun corresponderende wrapper class-objecten. Bijvoorbeeld,
int a = 56; // autoboxing Integer aObj = a;
Autoboxing heeft een groot voordeel bij het werken met Java-collecties.
Voorbeeld 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); ) )
Uitvoer
ArrayList: (5, 6)
In het bovenstaande voorbeeld hebben we een arraylijst van het type Integer gemaakt. Daarom kan de arraylijst alleen objecten van het Integer
type bevatten.
Let op de lijn,
list.add(5);
Hier geven we de primitieve typewaarde door. Door autoboxing wordt de primitieve waarde echter automatisch omgezet in een Integer
object en opgeslagen in de arraylijst .
Java Unboxing - Wrapper-objecten naar primitieve typen
Bij het uitpakken converteert de Java-compiler automatisch wrapper class-objecten naar hun overeenkomstige primitieve typen. Bijvoorbeeld,
// autoboxing Integer aObj = 56; // unboxing int a = aObj;
Net als autoboxing kan unboxing ook worden gebruikt met Java-verzamelingen.
Voorbeeld 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); ) )
Uitvoer
ArrayList: (5, 6) Waarde op index 0: 5
Let in het bovenstaande voorbeeld op de regel,
int a = list.get(0);
Hier get()
retourneert de methode het object op index 0. Door unboxing wordt het object echter automatisch geconverteerd naar het primitieve type int
en toegewezen aan de variabele a.