Easyautoboxing
Что такое autoboxing и unboxing?
1Постановка
Разберём, что от вас хотят в этом вопросе и как к нему подступиться на собеседовании.
2Решение
Autoboxing — авто-преобразование примитива в обёртку (Integer i = 5; → Integer.valueOf(5)). Unboxing — обратное (int x = i; → i.intValue()).
Integer a = 100; // autoboxing
Integer b = 100;
a == b; // true — IntegerCache (-128..127)
Integer c = 200;
Integer d = 200;
c == d; // false — разные объекты вне кэша
Integer n = null;
int x = n; // NullPointerException при unboxing- Wrapper'ы: Integer, Long, Double, Float, Boolean, Byte, Character, Short;
- В коллекциях
List<Integer>каждыйintкладётся какInteger; - В горячих циклах лучше примитивы или
IntStream/LongStream.
3Как отвечать
- Сначала уточните условия и ограничения, покажите аналитическое мышление.
- Рассуждайте вслух — интервьюеру важен ход мысли, а не только финальный ответ.
- Оцените сложность по времени и памяти (Big-O), если это алгоритмический вопрос.
💡
На реальном собеседовании Alffert подскажет развёрнутый ответ в реальном времени.