Как сравнить два целых числа? [Дубликат]
На этот вопрос уже есть ответ:
Как правильно сравнить два целых числа в Java? 8 ответов Мне нужно сравнить дваInteger
объекты (неint
). Какой канонический способ сравнить их?
Integer x = ...
Integer y = ...
Я могу думать об этом:
if (x == y)
The==
ператор @ сравнивает только ссылки, так что это будет работать только для более низких целых значений. Но, возможно, сработает автобокс ...?
if (x.equals(y))
Это похоже на дорогую операцию. Есть ли хэш-коды, рассчитанные таким образом?
if (x.intValue() == y.intValue())
Немного многословно ...
РЕДАКТИРОВАТЬ Спасибо за ваши ответы. Хотя я знаю, что делать сейчас, факты распределены по всем существующим ответам (даже удаленным :)), и я не знаю, какой из них принять. Поэтому я приму лучший ответ, который касается всех трех вариантов сравнения или, по крайней мере, первых двух.