Для перевода ссылочных типов (объектных оберток) в примитивные и наоборот в Java используются следующие механизмы:
Из ссылочного в примитивный (разворачивание, unboxing):
xxxValue() (например, intValue(), longValue(), booleanValue() и т.д.) соответствующего класса-обертки.java
Из примитивного в ссылочный (упаковка, boxing):
valueOf() (например, Integer.valueOf(), Boolean.valueOf() и т.д.) соответствующего класса-обертки. Статические методы valueOf() предпочтительнее конструкторов, так как они могут использовать кеширование, что улучшает производительность.java
Таблица соответствия:
| Примитивный тип | Ссылочный тип |
|---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
Автоматическая упаковка и разворачивание (autoboxing/unboxing) упрощают код, но могут привести к ошибкам NullPointerException, если попытаться развернуть null ссылочного типа в примитивный.