Junior
Как да извършваме преобразуване на референтни типове към примитивни и обратно?
sobes.tech AI
Отговор от AI
Преобразуването на референтни типове (обвивки) към примитивни типове (unboxing) и обратно (autoboxing) става автоматично в Java, но също така може да се направи явно.
Автообвиване: Автоматично преобразуване на примитивен тип към съответния референтен тип.
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 |