Junior
51
questionbank

Как переводить ссылочные типы в примитивные и наоборот?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech

Для перевода ссылочных типов (объектных оберток) в примитивные и наоборот в Java используются следующие механизмы:

Из ссылочного в примитивный (разворачивание, unboxing):

  • Присвоение объекта-обертки переменной примитивного типа. Java автоматически выполняет разворачивание.
  • Использование методов xxxValue() (например, intValue(), longValue(), booleanValue() и т.д.) соответствующего класса-обертки.
java

Из примитивного в ссылочный (упаковка, boxing):

  • Присвоение примитивной переменной переменной ссылочного типа-обертки. Java автоматически выполняет упаковку.
  • Использование конструктора класса-обертки.
  • Использование статических методов valueOf() (например, Integer.valueOf(), Boolean.valueOf() и т.д.) соответствующего класса-обертки. Статические методы valueOf() предпочтительнее конструкторов, так как они могут использовать кеширование, что улучшает производительность.
java

Таблица соответствия:

Примитивный типСсылочный тип
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean

Автоматическая упаковка и разворачивание (autoboxing/unboxing) упрощают код, но могут привести к ошибкам NullPointerException, если попытаться развернуть null ссылочного типа в примитивный.