Принцип работы механизма кэширования в Java для целочисленных значений заключается в следующем:
Целочисленное кэширование работает только при автоупаковке, при создании целочисленного объекта с помощью конструктора кэширование не работает. 1
При вызове метода Integer.valueOf, если ему передано значение, которое лежит в кэшируемом отрезке, вернётся ссылка на объект из кэша. 5