Sobes.tech
Junior — Middle

Como é que o método equals realiza a comparação de dois objetos em Java?

sobes.tech IA

Resposta da IA

O método equals em Java é usado para comparar dois objetos quanto à sua igualdade semântica. Por padrão, se não for sobrescrito, ele compara referências (ou seja, verifica se os objetos apontam para a mesma instância).

Ao sobrescrever equals, geralmente comparam-se os conteúdos dos objetos, por exemplo, os valores dos campos.

Uma implementação típica de equals inclui:

  • Verificação de igualdade de referências (this == obj)
  • Verificação de null e compatibilidade de classes
  • Comparação de campos relevantes dos objetos

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) && field2 == other.field2;
}

Também é importante sobrescrever hashCode ao sobrescrever equals, para manter o contrato entre esses métodos.