Junior
Qanday qilib referens turlarini primitiv turlarga va aksincha o'tkazish mumkin?
sobes.tech AI
AIdan javob
Java'da referans tiplari (qutblar) bilan primitiv tiplari (unboxing) o'rtasidagi konversiya avtomatik ravishda amalga oshadi, lekin uni aniq qilish ham mumkin.
Autoboxing: Primitiv tipning mos keladigan referans tipiga avtomatik konversiyasi.
int primitiveInt = 10;
// Avtomatik ravishda Integer ga konvertatsiya qilinadi
Integer wrapperInt = primitiveInt;
Unboxing: Referans tipining mos keladigan primitiv tipiga avtomatik konversiyasi.
Integer wrapperInteger = 20;
// Avtomatik ravishda int ga konvertatsiya qilinadi
int primitiveInteger = wrapperInteger;
Aniq konversiya:
Referans tipidan primitiv tipga konversiya: intValue(), doubleValue(), va boshqalar metodlar yordamida.
Integer wrapperInt = 30;
int primitiveInt = wrapperInt.intValue(); // aniq konversiya
Double wrapperDouble = 40.5;
double primitiveDouble = wrapperDouble.doubleValue(); // aniq konversiya
Primitiv tipdan referans tipiga konversiya: konstruktorlar yoki statik metodlar valueOf() yordamida. valueOf() metodi afzalroq, chunki u qiymatlarni kechiktirish imkonini beradi.
int primitiveInt = 50;
Integer wrapperInt = new Integer(primitiveInt); // eskirgan konstruktor
double primitiveDouble = 60.7;
Double wrapperDouble = Double.valueOf(primitiveDouble); // `valueOf()` yordamida
Konversiya jadvali:
| Primitiv tip | Referans tip |
|---|---|
| boolean | Boolean |
| byte | Byte |
| short | Short |
| char | Character |
| int | Integer |
| long | Long |
| float | Float |
| double | Double |