Ответ
Autoboxing автоматически преобразует примитивные типы в их объектные обертки (int → Integer, double → Double и т.д.) и обратно. Это упрощает работу с коллекциями (которые хранят только объекты) и API, требующими объекты.
Пример:
List<Integer> list = new ArrayList<>();
list.add(42); // Автоупаковка int → Integer
int value = list.get(0); // Распаковка Integer → int
Нюансы:
- Может вызывать незаметные накладные расходы (создание объектов).
nullпри распаковке вызываетNullPointerException.- Сравнение (
==) может давать ложные результаты из-за кэширования в небольших диапазонах (например,Integerот -128 до 127).