Sobes.tech
Junior — Middle

Por que é importante substituir o método equals() na sua classe?

sobes.tech IA

Resposta da IA

A sobrescrita do método equals() é importante para comparar objetos corretamente pelo conteúdo, e não pela referência. Por padrão, em Java, o método equals() compara referências (ou seja, verifica se as variáveis apontam para o mesmo objeto).

Se desejar considerar dois objetos iguais quando seus campos específicos coincidirem (por exemplo, identificador, nome, etc.), deve sobrescrever equals().

Exemplo:

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

Sem sobrescrever equals(), coleções como HashSet ou métodos de busca podem funcionar incorretamente.