Sobes.tech
Junior

Auf welchen Feldern sollte man hashCode machen, wenn equals uns zufriedenstellt?

sobes.tech KI

Antwort von AI

Wenn die Methode equals bereits definiert ist und funktioniert, sollte hashCode auf denselben Feldern basieren, die in equals verglichen werden. Dies ist notwendig, um den Vertrag zwischen equals und hashCode einzuhalten: Gleichwertige Objekte nach equals müssen denselben hashCode haben.

Zum Beispiel, wenn equals die Felder id und name vergleicht, sollte hashCode auf diesen Feldern basieren:

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