Переводил ли ссылочные типы в примитивные в Java

«Переводил ли ссылочные типы в примитивные в Java» — вопрос из категории Java, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Java автоматическое преобразование ссылочных типов в примитивные (unboxing) работает только для соответствующих wrapper-классов (Integer → int, Boolean → boolean и т.д.). Это часть механизма autoboxing/unboxing.

Пример:

Integer num = 42; 
int primitive = num; // Автоматический unboxing

Но для других ссылочных типов (например, String) такое преобразование не выполняется автоматически — нужно использовать методы типа parseInt():

String str = "123";
int num = Integer.parseInt(str); // Явное преобразование

Важно помнить про NPE при unboxing null-значений:

Integer nullInt = null;
int i = nullInt; // NullPointerException