Sobes.tech
Junior

როგორ განვახორციელოთ მიმთითებელი ტიპების გარდაქმნა პრიმიტიულ და პირიქით?

sobes.tech AI

პასუხი AI-სგან

Java-შე ავტომატურად ხდება რეფერენცული ტიპების (ობერკების) გარდაქმნა პრიმიტიულებს (უნბოქსინგი) და პირიქით (აუტობოქსინგი). ასევე შესაძლებელია ეს მკაფიოდაც გაკეთდეს.

ავტობოქსინგი: ავტომატური გარდაქმნა პრიმიტიული ტიპიდან შესაბამის რეფერენციულ ტიპში.

int primitiveInt = 10;
// ავტომატურად გარდაიქმნება Integer-ად
Integer wrapperInt = primitiveInt; 

უნბოქსინგი: ავტომატური გარდაქმნა რეფერენციული ტიპიდან შესაბამის პრიმიტიულ ტიპში.

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