Di 'che creo un oggetto e lo aggiungo al mio ArrayList
. Se quindi creo un altro oggetto con esattamente lo stesso input del costruttore, il contains()
metodo valuterà i due oggetti come uguali? Supponiamo che il costruttore non faccia nulla di divertente con l'input e che le variabili memorizzate in entrambi gli oggetti siano identiche.
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;
}
}
È così che class
dovrebbe essere implementato per avere contains()
ritorno true
?