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 |