Sobes.tech
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