Hoe voer je de conversie uit van referentietypen naar primitieve typen en vice versa?
sobes.tech AI
Antwoord van AI
De conversie van referentietypes (wrappers) naar primitieve types (unboxing) en vice versa (autoboxing) gebeurt automatisch in Java, maar kan ook expliciet worden gedaan.
Autoboxing: Automatische conversie van een primitief type naar het bijbehorende referentietype.
int primitiveInt = 10;
// Wordt automatisch geconverteerd naar Integer
Integer wrapperInt = primitiveInt;
Unboxing: Automatische conversie van een referentietype naar het bijbehorende primitieve type.
Integer wrapperInteger = 20;
// Wordt automatisch geconverteerd naar int
int primitiveInteger = wrapperInteger;
Expliciete conversie:
Conversie van een referentietype naar een primitief type: gebruik makend van methoden zoals intValue(), doubleValue(), etc.
Integer wrapperInt = 30;
int primitiveInt = wrapperInt.intValue(); // expliciete conversie
Double wrapperDouble = 40.5;
double primitiveDouble = wrapperDouble.doubleValue(); // expliciete conversie
Conversie van een primitief type naar een referentietype: gebruik makend van constructors van wrapper-klassen of statische methoden valueOf(). De valueOf()-methode is de voorkeur omdat deze waarden kan cachen.
int primitiveInt = 50;
Integer wrapperInt = new Integer(primitiveInt); // gebruik van de constructor (verouderd)
double primitiveDouble = 60.7;
Double wrapperDouble = Double.valueOf(primitiveDouble); // gebruik van `valueOf()`
Conversietabel:
| Primitief type | Referentietype |
|---|---|
| boolean | Boolean |
| byte | Byte |
| short | Short |
| char | Character |
| int | Integer |
| long | Long |
| float | Float |
| double | Double |