Angenommen, ich erstelle ein Objekt und füge es meinem hinzu ArrayList
. Wenn ich dann ein anderes Objekt mit genau derselben Konstruktoreingabe erstelle, contains()
bewertet die Methode die beiden Objekte als gleich? Angenommen, der Konstruktor macht mit der Eingabe nichts Lustiges und die in beiden Objekten gespeicherten Variablen sind identisch.
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;
}
}
Soll das class
so umgesetzt werden, um eine contains()
Rückkehr zu haben true
?