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 |