2008-10-20 18 views
10

Digamos que ha anulado los métodos equals() y hashCode() de un objeto, para que usen los campos del objeto.Comparando referencias en Java

¿Cómo se comprueba si dos referencias son para el mismo objeto, ala el método stock equals()?

Respuesta

29

Utilice == en objetos para realizar la comparación de identidad.

Eso es lo que hace la implementación predeterminada de equals(), pero uno normalmente anula equals() para servir como una verificación de "contenido equivalente".

+0

¡Por supuesto! ¡No puedo creer que me haya olvidado de eso! – tunaranch

+0

Además, la mayoría de las operaciones iguales realizan la comprobación this == obj, porque obviamente si están haciendo referencia al mismo objeto, entonces equals devolverá true (suponiendo que equal funciona :)) – MetroidFan2002

5

Eso es lo que hace el operador ==.

1

El comportamiento predeterminado de equals() es comparar los dos objetos utilizando el operador ==. Entonces, si quiere que el comportamiento predeterminado use ==, si quiere que su comportamiento reemplazado use igual().

0

use == Operador porque se compara con la referencia no con el contenido, si desea comparar con el contenido puede usar el método equals().