¿Cómo comparo dos enteros? [duplicar
Esta pregunta ya tiene una respuesta aquí:
Cómo comparar correctamente dos enteros en Java? 8 respuestas Tengo que comparar dosInteger
objetos (noint
). ¿Cuál es la forma canónica de compararlos?
Integer x = ...
Integer y = ...
Puedo pensar en esto:
if (x == y)
Los==
operator solo compara referencias, por lo que esto solo funcionará para valores enteros más bajos. Pero tal vez el auto-boxeo se inicia ...?
if (x.equals(y))
Esto parece una operación costosa. ¿Hay algún código hash calculado de esta manera?
if (x.intValue() == y.intValue())
Un poco detallado ...
EDITAR Gracias por sus respuestas. Aunque ahora sé qué hacer, los hechos se distribuyen en todas las respuestas existentes (incluso las eliminadas :)) y realmente no sé cuál aceptar. Así que aceptaré la mejor respuesta, que se refiere a las tres posibilidades de comparación, o al menos a las dos primeras.