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
nulle 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.