Java Autoboxing en Unboxing: Praktische voorbeelden en best practices
Java Autoboxing en Unboxing
Ontdek hoe Java automatisch converteert tussen primitieve typen en wrapper-objecten, en zie real-world voorbeelden die het proces illustreren.
Java Autoboxing – Van primitief naar wrapper-object
Wanneer je een primitieve waarde toewijst aan een variabele van een wrapper-klasse, voert de Java-compiler autoboxing uit en creëert het bijbehorende wrapper-object. Bijvoorbeeld:
int a = 56; // autoboxing
Integer aObj = a;
Autoboxing is handig bij het werken met generieke collecties die alleen objecten accepteren. Het houdt de code beknopt en type-veilig.
Voorbeeld 1: Autoboxing met ArrayList
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<Integer> lijst = new ArrayList<>();
// autoboxing: primitieven 5 en 6 worden Integer-objecten
lijst.add(5);
lijst.add(6);
System.out.println("ArrayList: " + lijst);
}
}
Output
ArrayList: [5, 6]
In dit snippet bevat de ArrayList Integer-objecten. De compiler boxed de primitieve literals 5 en 6 automatisch.
Java Unboxing – Van wrapper naar primitief
Omgekeerd, unboxing converteert een wrapper-object terug naar de primitieve vorm. Bijvoorbeeld:
// autoboxing
Integer aObj = 56;
// unboxing
int a = aObj;
Unboxing werkt naadloos met collecties, zodat je waarden als primitieven kunt ophalen wanneer nodig.
Voorbeeld 2: Unboxing uit ArrayList
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<Integer> lijst = new ArrayList<>();
lijst.add(5);
lijst.add(6);
System.out.println("ArrayList: " + lijst);
// unboxing: Integer op index 0 wordt int
int a = lijst.get(0);
System.out.println("Waarde op index 0: " + a);
}
}
Output
ArrayList: [5, 6] Waarde op index 0: 5
Hier retourneert lijst.get(0) een Integer; de compiler unboxed het automatisch naar een int voor toewijzing aan a.
Het begrijpen van autoboxing en unboxing helpt je schonere, efficiëntere Java-code te schrijven, vooral bij interactie met collecties en API's die objecten verwachten.
Java
- Java-variabelen en literals: een uitgebreide gids
- Java Input & Output beheersen: printen, lezen en formatteren
- Java Expressies, Statements en Blokken begrijpen
- Java klassen en objecten: een praktische gids
- Java abstracte klassen en methoden: een uitgebreide gids
- Java geneste en inner classes meesteren: typen, voorbeelden en best practices
- Java throw vs throws: Exception Handling meesteren met praktische voorbeelden
- Java String Vervanging beheersen: replace(), replaceAll() en replaceFirst() uitgelegd
- Java String toLowerCase() & toUpperCase(): Tekstcase Converteren met Locale Awareness
- Java Onder de Knie: Objects, Classes en Kern OOP Concepten
- Java Datum en Tijd Onder de Knie: Constructors, Methods & Best Practices