Sie sollten TeamName
durch name
Feld in Team
Klasse ersetzen.
Die Wiederholung Team
ist redundant und Variablennamen sollten mit einem Kleinbuchstaben beginnen.
Für die Gleichheit, zuerst müssen Sie die Typkompatibilität überprüfen und Sie können dann die equals()
Methode verwenden, indem Sie die name
String Felder vergleichen.
Stattdessen direkt String#equals(Object o)
Methode verwenden, können Sie Objects.equals(Object a, Object b)
verwenden, die die Nullprüfung für das Feld name
schont.
Endlich , wenn Sie außer Kraft setzen equals()
, hashcode()
sollte auch sein folglich um außer Kraft gesetzt, diese beiden Methoden konsistent zu halten.
@Override
public boolean equals(Object object) {
if (!(object instanceof Team)){
return false;
}
Team otherTeam = (Team) object;
return Objects.equals(name, otherTeam.name);
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((name == null) ? 0 : name.hashCode());
return result;
}
Danke, es hat funktioniert !! –