Sobes.tech
Junior

İstinad tiplərini primitiv tiplərə və əksinə çevirmə necə həyata keçirilir?

sobes.tech Süni İntellekt

AI-dan cavab

Java-da istinad tipləri (qutular) ilə primitiv tiplər (unboxing) arasında çevirmə avtomatik həyata keçirilir, lakin bunu açıq şəkildə də etmək mümkündür.

Autoboxing: Primitiv tipin müvafiq istinad tipinə avtomatik çevrilməsi.

int primitiveInt = 10;
// Avtomatik olaraq Integer-ə çevrilir
Integer wrapperInt = primitiveInt; 

Unboxing: İstinad tipinin müvafiq primitiv tipe avtomatik çevrilməsi.

Integer wrapperInteger = 20;
// Avtomatik olaraq int-ə çevrilir
int primitiveInteger = wrapperInteger;

Açıq çevirmə:

İstinad tipindən primitiv tipe çevirmə: intValue(), doubleValue(), və s. metodlardan istifadə etməklə.

Integer wrapperInt = 30;
int primitiveInt = wrapperInt.intValue(); // açıq çevirmə

Double wrapperDouble = 40.5;
double primitiveDouble = wrapperDouble.doubleValue(); // açıq çevirmə

Primitiv tipdən istinad tipinə çevirmə: konstruktorlar və ya statik valueOf() metodlarından istifadə etməklə. valueOf() metodu üstünlük təşkil edir, çünki dəyərləri keşikdə saxlaya bilər.

int primitiveInt = 50;
Integer wrapperInt = new Integer(primitiveInt); // köhnə konstruktor (artıq istifadə edilmir)

double primitiveDouble = 60.7;
Double wrapperDouble = Double.valueOf(primitiveDouble); // `valueOf()` istifadə edilərək

Çevirmə cədvəli:

Primitiv Tip İstinad Tipi
boolean Boolean
byte Byte
short Short
char Character
int Integer
long Long
float Float
double Double