Как осуществлять преобразование ссылочных типов в примитивные и наоборот?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Преобразование ссылочных типов (оберток) в примитивные (unboxing) и наоборот (autoboxing) происходит автоматически в Java, но также можно сделать это явно.
Автоупаковка (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 |