Sobes.tech
Junior

¿Qué hace el método equals() en Java?

sobes.tech AI

Respuesta de la IA

El método equals() en Java se utiliza para comparar objetos por igualdad. Por defecto, en la clase Object, compara referencias a objetos (verifica si dos variables apuntan al mismo objeto en memoria).

Las clases pueden redefinir el método equals() para implementar lógica de comparación por valor. Esto significa que dos objetos diferentes se consideran iguales si sus campos o estado son equivalentes.

Al redefinir equals(), también es importante redefinir el método hashCode(), siguiendo el contrato: si dos objetos son iguales según equals(), sus hashCode() deben ser iguales.

Ejemplo de redefinición:

public class Person {
    private String name;
    private int age;

    // constructor y getters

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Person person = (Person) o;
        return age == person.age &&
               Objects.equals(name, person.name);
    }

    @Override
    public int hashCode() {
        return Objects.hash(name, age);
    }
}