Согласно Спецификации языка Java,
§5.2 Контексты присваивания
Контексты присваивания позволяют использовать одно из следующего:
- преобразование идентификатора (§5.1.1)
- преобразование расширяющегося примитива (§5.1.2)
- преобразование расширяющего эталона (§5.1.5)
- преобразование бокса (§5.1.7), за которым необязательно следует расширение эталонного преобразования
- преобразование без упаковки (§5.1.8), необязательно, с последующим преобразованием примитива расширения.
Ваш код демонстрирует конвертацию без Integer
в int
. Спецификация языка говорит, что это разрешено, и это так, в противном случае вы не используете Java.
Для получения дополнительной информации о том, что такое распаковка конвертации, посетите здесь .Подводя итог, это в основном преобразование из ссылочного типа в его примитивный аналог.В этом случае Integer
является ссылочным типом, а int
является примитивным типом.