LINUX.ORG.RU

История изменений

Исправление CARS, (текущая версия) :

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

Исходная версия CARS, :

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