Sobes.tech
Junior

Hogyan hajtható végre a referencia típusok átalakítása primitív típusokra és fordítva?

sobes.tech MI

Válasz az MI-től

A referencia típusok (burkolók) és az alapvető típusok (unboxing) közötti átalakítás automatikusan megtörténik Java-ban, de ezt kifejezetten is meg lehet tenni.

Autoboxing: Az alapvető típus automatikus átalakítása a megfelelő referencia típusra.

int primitiveInt = 10;
// Automatikusan Integer-re alakul
Integer wrapperInt = primitiveInt; 

Unboxing: A referencia típus automatikus átalakítása a megfelelő primitív típusra.

Integer wrapperInteger = 20;
// Automatikusan int-re alakul
int primitiveInteger = wrapperInteger;

Kifejezett átalakítás:

Referencia típus primitivussá alakítása: intValue(), doubleValue(), stb. metódusok használatával.

Integer wrapperInt = 30;
int primitiveInt = wrapperInt.intValue(); // kifejezett átalakítás

Double wrapperDouble = 40.5;
double primitiveDouble = wrapperDouble.doubleValue(); // kifejezett átalakítás

Primitív típus referencia típusra való átalakítása: konstruktorok vagy statikus valueOf() metódusok használatával. A valueOf() előnyösebb, mert cache-elheti az értékeket.

int primitiveInt = 50;
Integer wrapperInt = new Integer(primitiveInt); // elavult konstruktor

double primitiveDouble = 60.7;
Double wrapperDouble = Double.valueOf(primitiveDouble); // `valueOf()` használata

Átalakítási táblázat:

Primitív típus Referencia típus
boolean Boolean
byte Byte
short Short
char Character
int Integer
long Long
float Float
double Double