Método equals() de Object en Java

Java String类Clase Object de Java


El método equals() de Object se utiliza para comparar si dos objetos son iguales.

El método equals() compara dos objetos; determina si las referencias de los dos objetos apuntan al mismo objeto, es decir, solo comprueba si los dos objetos apuntan a la misma dirección de memoria.

Nota:Si una subclase sobrescribe el método equals(), también debe sobrescribirel método hashCode().Por ejemplo, la clase String sobrescribe el método equals() y también sobrescribe el método hashCode().

Sintaxis

object.equals(Object obj)

Parámetros

  • obj- El objeto a comparar.

Valor de retorno

Si los dos objetos son iguales, devuelve true; de lo contrario, devuelve false.

Ejemplo

El siguiente ejemplo demuestra el uso del método equals():

Ejemplo

class EjemploTest { public static void main(String[] args) { //La clase Object usa el método equals() //Crear dos objetos Object obj1 = new Object(); Object obj2 = new Object(); //Determinar si obj1 y obj2 son iguales //Son objetos diferentes, con direcciones de memoria distintas, no son iguales, devuelve false System.out.println(obj1.equals(obj2)); // false //Asignar obj1 a obj3 //String sobrescribe el método equals() //Las referencias de los objetos tienen la misma dirección de memoria, son iguales, devuelve true Object obj3 = obj1; System.out.println(obj1.equals(obj3)); // true } }

El resultado de ejecución del programa anterior es:

false
true

La clase String sobrescribe el método equals() para comparar si dos cadenas son iguales:

Ejemplo

class EjemploTest { public static void main(String[] args) { //La clase String usa el método equals() //Crear dos objetos String obj1 = new String(); String obj2 = new String(); //Determinar si obj1 y obj2 son iguales //Los dos objetos inicializados son null, por lo tanto son iguales, devuelve true System.out.println(obj1.equals(obj2)); // true //Asignar valores a los objetos obj1 = "Ejemplo"; obj2 = "Google"; //Determinar si obj1 y obj2 son iguales //Los dos valores son diferentes y las direcciones de memoria también son diferentes, por lo tanto no son iguales, devuelve false System.out.println(obj1.equals(obj2)); // false } }

El resultado de ejecución del programa anterior es:

 true
false

Java String类Clase Object de Java

Otras extensiones