Sobes.tech
Junior

Kaip atlikti nuorodų tipų konvertavimą į primityvius ir atvirkščiai?

sobes.tech AI

Atsakymas iš AI

Java automatiškai atlieka nuorodų tipų (rėmeliai) konvertavimą tarp primityvų (unboxing) ir atgal (autoboxing), tačiau tai galima padaryti ir aiškiai.

Autoboksavimas: Automatinis primityvaus tipo konvertavimas į atitinkamą nuorodų tipą.

int primitiveInt = 10;
// Automatiškai konvertuojama į Integer
Integer wrapperInt = primitiveInt; 

Unboxing: Automatinis nuorodų tipo konvertavimas į atitinkamą primityvų tipą.

Integer wrapperInteger = 20;
// Automatiškai konvertuojama į int
int primitiveInteger = wrapperInteger;

Aiškus konvertavimas:

Nuorodų tipo konvertavimas į primityvų: naudokite intValue(), doubleValue() ir pan.

Integer wrapperInt = 30;
int primitiveInt = wrapperInt.intValue(); // aiškus konvertavimas

Double wrapperDouble = 40.5;
double primitiveDouble = wrapperDouble.doubleValue(); // aiškus konvertavimas

Primityvaus tipo konvertavimas į nuorodų tipą: naudokite klasių konstruktorius arba statinius metodus valueOf(). Statinis metodas valueOf() yra pageidautinas, nes gali kaupti reikšmes.

int primitiveInt = 50;
Integer wrapperInt = new Integer(primitiveInt); // naudojant konstruktorių (pasenęs)

double primitiveDouble = 60.7;
Double wrapperDouble = Double.valueOf(primitiveDouble); // naudojant valueOf()

Konvertavimo lentelė:

Primityvus tipas Nuorodų tipas
boolean Boolean
byte Byte
short Short
char Character
int Integer
long Long
float Float
double Double