Junior
Чӣ гуна табдил додани намудҳои истинод ба намудҳои ибтидоӣ ва баръакс?
sobes.tech AI
Ҷавоб аз AI
Java-да ишора турлари (қутилар) билан асосий турлар (unboxing) ўртасидаги конверсия автоматик равишда амалга ошади, аммо буни аниқлаш ҳам мумкин.
Автообоксинг: Асосий турнинг мос келадиган ишора турига автоматик конверсияси.
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 |