Katakanlah saya membuat satu objek dan menambahkannya ke ArrayList
. Jika saya kemudian membuat objek lain dengan input konstruktor yang persis sama, akankah contains()
metode mengevaluasi dua objek menjadi sama? Asumsikan konstruktor tidak melakukan sesuatu yang lucu dengan input, dan variabel yang disimpan di kedua objek identik.
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;
}
}
Apakah ini cara yang class
harus diterapkan untuk mendapatkan contains()
kembali true
?