Sobes.tech
Junior

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