Java Interview Tasks
4.53K subscribers
211 photos
1 video
1 file
138 links
Реальные вопросы и задачи с собеседований.
Оригинальный авторский контент.
Актуальный материал.
Уровень вопросов от junior до supersenior.

Автор канала - @alexzelentsov

По рекламе: @alexzelentsov и https://telega.in/c/java_interview_tasks
Download Telegram
🔍 Ответ на задачу про Integer: Когда 100 == 100, а 1000 != 1000? 🧐

Многие начинающие (и не только) джависты спотыкаются на сравнении объектов-оберток через ==.
Объяснение:
В Java существует Integer Cache. При автоупаковке (autoboxing) вызывается метод Integer.valueOf(int).
Для экономии памяти JVM кеширует объекты Integer в диапазоне от -128 до 127.
Поэтому a и b ссылаются на один и тот же объект в кеше — и == возвращает true.
Для числа 1000 кеша нет, создаются два разных объекта в куче — и == (сравнение ссылок) возвращает false.

Вывод:
Никогда не сравнивайте объекты-обертки через ==, если только вы не хотите проверить идентичность ссылок.

⚡️ Не перепутайте:
- Для сравнения значений объектов всегда используйте .equals().
- Помните, что верхнюю границу кеша можно изменить через флаг -XX:AutoBoxCacheMax=<size>.

Хочешь больше таких нюансов? Ставь 🔥 и делись с коллегами!
#java #integer #cache #jvm #autoboxing #interview #java_interview_tasks
👍5🔥51