Junior
O que faz o método equals() em Java?
sobes.tech IA
Resposta da IA
O método equals() em Java é usado para comparar objetos quanto à igualdade. Por padrão, na classe Object, ele compara referências de objetos (verifica se duas variáveis apontam para o mesmo objeto na memória).
As classes podem redefinir o método equals() para implementar lógica de comparação por valor. Isso significa que dois objetos diferentes são considerados iguais se seus campos ou estado forem equivalentes.
Ao redefinir equals(), também é importante redefinir o método hashCode(), seguindo o contrato: se dois objetos são iguais segundo equals(), seus hashCode() devem ser iguais.
Exemplo de redefinição:
public class Person {
private String name;
private int age;
// construtor e 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);
}
}