С версии 5.0 при использовании метода valueOf(...) при попадании аргумента в диапазон Integer: -128..127 всегда будет возвращаться один и тот же объект, соответствующий числу, из заранее созданного массива экземпляров. Если аргумент не попадает в диапазон, метод valueOf() создает новый обьект. Т.к. оператор == сравнивает обьекты по ссылке, то a == b - true, а c == d - false, в то время как >= автоматически распаковывает объекты Integer обратно в int неявным вызовом intValue(). Таким образом c >= d и c <= d - true.
Войдите чтобы поставить Нравится
Войдите чтобы прокомментировать