【发布时间】:2021-02-01 15:51:59
【问题描述】:
假设我创建了一个对象并将其添加到我的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?
【问题讨论】:
标签: java object arraylist evaluation