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 |