Vous devez remplacer le champ TeamName
par name
dans la classe Team
.
La répétition Team
est redondante et les noms de variables doivent commencer par une lettre minuscule. Pour l'égalité, vous devez d'abord vérifier la compatibilité de type et vous pouvez ensuite utiliser la méthode equals()
en comparant les champs String name
.
Si vous utilisez directement la méthode String#equals(Object o)
, vous pouvez utiliser Objects.equals(Object a, Object b)
qui évite la vérification null pour le champ name
.
Enfin, lorsque vous substituez equals()
, hashcode()
devrait également être par conséquent outrepassée afin de maintenir ces deux méthodes cohérentes.
@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;
}
Merci ça a marché !! –