Ответ
В 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