Sobes.tech
Junior

Ինչպե՞ս իրականացնել հղման տիպերի փոխարկումը հիմնական և հակառակը:

sobes.tech AI

Պատասխան AI-ից

Java-да հղումային տիպերը (օղակներ) և հիմնական տիպերը (unboxing) փոխարկումը ավտոմատ է, բայց նաև կարելի է դա հստակորեն անել:

Autoboxing: Հիմնական տիպի ավտոմատ փոխարկում համապատասխան հղումային տիպին:

int primitiveInt = 10;
// Ավտոմատ փոխարկվում է Integer
Integer wrapperInt = primitiveInt; 

Unboxing: Հղումային տիպի ավտոմատ փոխարկում հիմնական տիպին:

Integer wrapperInteger = 20;
// Ավտոմատ փոխարկվում է int
int primitiveInteger = wrapperInteger;

Հստակ փոխարկում:

Հղումային տիպից հիմնական տիպի փոխարկում՝ օգտագործելով intValue(), doubleValue(), և այլն մեթոդները:

Integer wrapperInt = 30;
int primitiveInt = wrapperInt.intValue(); // հստակ փոխարկում

Double wrapperDouble = 40.5;
double primitiveDouble = wrapperDouble.doubleValue(); // հստակ փոխարկում

Հիմնական տիպից հղումային տիպի փոխարկում՝ օգտագործելով կլասների կոնստրուկտորներ կամ valueOf() ստատիկ մեթոդները։ valueOf() մեթոդը նախընտրելի է, քանի որ կարող է արժեքները կեշավորել:

int primitiveInt = 50;
Integer wrapperInt = new Integer(primitiveInt); // հնացած կոնստրուկտոր

double primitiveDouble = 60.7;
Double wrapperDouble = Double.valueOf(primitiveDouble); // `valueOf()` օգտագործելով

Փոխարկման աղյուսակ:

Հիմնական տիպ Հղումային տիպ
boolean Boolean
byte Byte
short Short
char Character
int Integer
long Long
float Float
double Double