Sobes.tech
Junior

Kako izvršiti konverziju referentnih tipova u primitivne i obrnuto?

sobes.tech АИ

Одговор од АИ

Konverzija referentnih tipova (omotača) u primitivne tipove (unboxing) i obrnuto (autoboxing) automatski se dešava u Javi, ali se može izvršiti i eksplicitno.

Autoboxing: Automatska konverzija primitivnog tipa u odgovarajući referentni tip.

int primitiveInt = 10;
// Automatski se konvertuje u Integer
Integer wrapperInt = primitiveInt; 

Unboxing: Automatska konverzija referentnog tipa u odgovarajući primitivni tip.

Integer wrapperInteger = 20;
// Automatski se konvertuje u int
int primitiveInteger = wrapperInteger;

Eksplicitna konverzija:

Konverzija referentnog tipa u primitivni: korišćenjem metoda kao što su intValue(), doubleValue(), itd.

Integer wrapperInt = 30;
int primitiveInt = wrapperInt.intValue(); // eksplicitna konverzija

Double wrapperDouble = 40.5;
double primitiveDouble = wrapperDouble.doubleValue(); // eksplicitna konverzija

Konverzija primitivnog tipa u referentni tip: korišćenjem konstruktora klasa omotača ili statičkih metoda valueOf(). Metod valueOf() je preferiran jer može keširati vrednosti.

int primitiveInt = 50;
Integer wrapperInt = new Integer(primitiveInt); // korišćenje konstruktora (zastarelo)

double primitiveDouble = 60.7;
Double wrapperDouble = Double.valueOf(primitiveDouble); // korišćenje `valueOf()`

Tabela konverzija:

Primitivni tip Referentni tip
boolean Boolean
byte Byte
short Short
char Character
int Integer
long Long
float Float
double Double