Sobes.tech
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