Java autoboxing en unboxing
Java autoboxing en unboxing
In deze tutorial leren we over Java autoboxing en unboxing aan de hand van voorbeelden.
Java autoboxing - primitief type naar wrapper-object
In autoboxing , converteert de Java-compiler automatisch primitieve typen naar hun corresponderende wrapper-klasseobjecten. 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<Integer> 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. Vandaar dat de arraylijst alleen objecten van Integer
. kan bevatten typ.
Let op de lijn,
list.add(5);
Hier geven we de primitieve typewaarde door. Vanwege autoboxing , wordt de primitieve waarde automatisch omgezet in een Integer
object en opgeslagen in de arraylijst.
Java Unboxing - Wrapper-objecten naar primitieve typen
Bij uitpakken , converteert de Java-compiler automatisch wrapper-klasseobjecten naar hun overeenkomstige primitieve typen. Bijvoorbeeld,
// autoboxing
Integer aObj = 56;
// unboxing
int a = aObj;
Zoals autoboxing , uitpakken kan ook worden gebruikt met Java-verzamelingen.
Voorbeeld 2:Java Unboxing
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<Integer> 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] Value at index 0: 5
Let in het bovenstaande voorbeeld op de regel,
int a = list.get(0);
Hier, de get()
methode retourneert het object op index 0 . Echter, vanwege unboxing , wordt het object automatisch geconverteerd naar het primitieve type int
en toegewezen aan de variabele a .
Java
- Java-variabelen en -letters
- Java basis invoer en uitvoer
- Java-uitdrukkingen, verklaringen en blokken
- Java-klasse en objecten
- Java abstracte klasse en abstracte methoden
- Java geneste en innerlijke klasse
- Java worp en worpen
- Java String Replace(), ReplaceAll() en ReplaceFirst() methode
- Java String toLowercase() en toUpperCase() methoden
- Java - Object en klassen
- Java - Datum en tijd