Скажіть, я створюю один об’єкт і додаю його до свого ArrayList
. Якщо я тоді створять інший об’єкт із точно таким же входом конструктора, чи contains()
метод оцінить два об'єкти однаковими? Припустимо, конструктор не робить нічого смішного з введенням, і змінні, що зберігаються в обох об'єктах, однакові.
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;
}
}
Це як class
слід реалізувати, щоб мати contains()
прибуток true
?