Objektgleichheit in Java verstehen
Um die Gleichheit zweier Objekte in Java zu vergleichen, verwendet man häufig die Methode „equals“. Im beschriebenen Szenario besteht das Ziel darin, die Methode „equals“ für eine People-Klasse mit den Feldern „Name“ und „Alter“ zu überschreiben, um Vergleiche zwischen People-Objekten zu erleichtern.
Die vorgestellte Erstimplementierung verwendete die Methode „equals“ für das Feld „Alter“. ist vom Typ Integer. Wie bereits erwähnt, ist die Methode „equals“ jedoch speziell für den Vergleich von String-Objekten konzipiert.
Lösung: Ganzzahlfelder vergleichen
Zum Vergleichen von Ganzzahlfeldern wird die Verwendung empfohlen den Operator == anstelle der Methode equal. Der ==-Operator vergleicht die Werte der primitiven Datentypen direkt, anstatt die Equals-Methode aufzurufen.
Equals korrekt implementieren
Die korrekte Implementierung der Equals-Methode für Die People-Klasse sollte wie folgt aussehen:
@Override public boolean equals(Object obj) { if (obj == null) { return false; } if (obj.getClass() != this.getClass()) { return false; } final People other = (People) obj; if ((this.name == null) ? (other.name != null) : !this.name.equals(other.name)) { return false; } if (this.age != other.age) { return false; } return true; }
In diesem Implementierung:
Das obige ist der detaillierte Inhalt vonWie überschreibe ich die Methode „equals' für den Objektvergleich in Java korrekt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!