Junior
Kā veikt atsauces tipu pārvēršanu primitivajos un otrādi?
sobes.tech AI
Atbilde no AI
Java automātiski veic atsauces tipu (rāmju) pārveidi starp primīviem (unboxing) un pretēji (autoboxing), bet to var arī skaidri izdarīt.
Autoboksēšana: Automātiska primīva tipa pārveide uz atbilstošo atsauces tipu.
int primitiveInt = 10;
// Automātiski pārveidojas uz Integer
Integer wrapperInt = primitiveInt;
Unboxing: Automātiska atsauces tipa pārveide uz atbilstošo primīvu tipu.
Integer wrapperInteger = 20;
// Automātiski pārveidojas uz int
int primitiveInteger = wrapperInteger;
Skaidra pārveide:
Atsauces tipa pārveide uz primīvu: izmantojiet intValue(), doubleValue() un citus metodes.
Integer wrapperInt = 30;
int primitiveInt = wrapperInt.intValue(); // skaidra pārveide
Double wrapperDouble = 40.5;
double primitiveDouble = wrapperDouble.doubleValue(); // skaidra pārveide
Primīva tipa pārveide uz atsauces tipu: izmantojiet klases konstruktorus vai statiskos metodes valueOf(). Statiskā metode valueOf() ir vēlams, jo tā var kešot vērtības.
int primitiveInt = 50;
Integer wrapperInt = new Integer(primitiveInt); // izmanto konstruktoru (novecojis)
double primitiveDouble = 60.7;
Double wrapperDouble = Double.valueOf(primitiveDouble); // izmanto `valueOf()`
Pārveides tabula:
| Primīvs tips | Atsauces tips |
|---|---|
| boolean | Boolean |
| byte | Byte |
| short | Short |
| char | Character |
| int | Integer |
| long | Long |
| float | Float |
| double | Double |