Sobes.tech
Junior

Com que campos deve-se fazer hashCode se equals nos satisfaz?

sobes.tech IA

Resposta da IA

Se o método equals já estiver definido e funcionar corretamente, então hashCode deve ser baseado nos mesmos campos que participam na comparação em equals. Isso é necessário para cumprir o contrato entre equals e hashCode: objetos iguais segundo equals devem ter o mesmo hashCode.

Por exemplo, se equals compara os campos id e name, então hashCode deve ser calculado com base nesses mesmos campos:

@Override
public int hashCode() {
    return Objects.hash(id, name);
}