¿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.

Respuestas a la pregunta(9)

Su respuesta a la pregunta