Supposons que je crée un objet et que je l'ajoute à mon ArrayList
. Si je crée ensuite un autre objet avec exactement la même entrée de constructeur, la contains()
méthode évaluera-t-elle que les deux objets sont identiques? Supposons que le constructeur ne fasse rien de drôle avec l'entrée et que les variables stockées dans les deux objets sont identiques.
ArrayList<Thing> basket = new ArrayList<Thing>();
Thing thing = new Thing(100);
basket.add(thing);
Thing another = new Thing(100);
basket.contains(another); // true or false?
class Thing {
public int value;
public Thing (int x) {
value = x;
}
equals (Thing x) {
if (x.value == value) return true;
return false;
}
}
Est-ce ainsi que le class
devrait être mis en œuvre pour avoir un contains()
retour true
?