Sobes.tech
Junior — Middle

Para que serve o método sobrescrito equals() na classe base Object em Java?

sobes.tech IA

Resposta da IA

O método equals() na classe Object destina-se a comparar objetos por igualdade. Por padrão, ele compara referências, ou seja, verifica se duas variáveis apontam para o mesmo objeto na memória.

Ao sobrescrever equals(), pode-se definir a lógica de comparação de objetos pelo conteúdo, por exemplo, comparando os campos dos objetos para considerá-los iguais se esses campos coincidirem.

Exemplo de sobrescrita de equals():

@Override
public boolean equals(Object obj) {
    if (this == obj) return true;
    if (obj == null || getClass() != obj.getClass()) return false;
    MyClass other = (MyClass) obj;
    return field1.equals(other.field1) && field2 == other.field2;
}

Isto é importante para o funcionamento correto de coleções como HashSet ou HashMap, que usam equals() para determinar a unicidade dos elementos.