История изменений
Исправление CARS, (текущая версия) :
Если заворачивать int
в Integer
, то должен быть создан новый объект. Но при этом значения в пределах диапазона byte
кэшируются, и соответствующие ссылки будут указывать на один и тот же объект Integer
. А за пределами этого диапазона кэширование не происходит, и всегда честно создается новый объект, поэтому оператор ==
(сравнение ссылок, но не значений!) ведёт себя так странно.
Исходная версия CARS, :
Если заворачивать int в Integer, то должен быть создан новый объект. Но при этом значения в пределах диапазона byte кэшируются, и соответствующие ссылки будут указывать на один и тот же объект Integer. А за пределами этого диапазона кэширование не происходит, и всегда честно создается новый объект, поэтому оператор == (сравнение ссылок, но не значений!) ведёт себя так странно.