Java Integer pool. Почему?

Я везде читал, что когда вы определяете Integer в Java от -128 до 127, вместо создания нового объекта он возвращает уже созданный объект.

Я не вижу смысла делать это, кроме как позволить начинающим программистам сравнивать объекты Integer с== чтобы узнать, совпадают ли они с одним числом, но я думаю, что это плохо, потому что они уверены, что могут сравнить любое целое число с==, а также учит плохой практике на любом языке программирования: сравнивая содержимое двух «разных» объектов с==.

Есть ли другая причина, по которой это делается? Или это просто плохое решение при разработке языка (на мой взгляд), как необязательная точка с запятой в JavaScript?

РЕДАКТИРОВАТЬ: я вижу здесь, что они объясняют поведение:Почему поведение пула констант Integer изменяется на 127?

Я спрашиваю, почему они разработали это для такого поведения, а не почему это происходит.

Ответы на вопрос(2)

Ваш ответ на вопрос