Junior
Кандайча шилтемелердин түрүн негизги жана тескерисинче айландыруу керек?
sobes.tech AI
AIден жооп
Javaда шилтемелүү түрлөр (жапкычтар) менен негизги түрлөрдүн (unboxing) жана тескерисинче (autoboxing) автоматтык түрдө иштейт, бирок аны ачык түрдө да жасоого болот.
Autoboxing: Негизги түрдүн тиешелүү шилтемелүү түргө автоматтык түрдө айлануусу.
int primitiveInt = 10;
// Автоматтык түрдө Integerге айланат
Integer wrapperInt = primitiveInt;
Unboxing: Шилтемелүү түрдүн тиешелүү негизги түргө автоматтык түрдө айлануусу.
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 |