たとえば、1つのオブジェクトを作成してmyに追加するとしますArrayList
。次に、まったく同じコンストラクター入力で別のオブジェクトを作成した場合、contains()
メソッドは2つのオブジェクトを同じであると評価しますか?コンストラクターが入力に対して何もおかしくなく、両方のオブジェクトに格納されている変数が同一であると想定します。
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
ますか?