ArrayList 的 contains() 方法如何评估对象?

假设我创建了一个对象并将其添加到我的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()returntrue吗?

回答:

ArrayListimplements列表接口。

如果您查看该方法的Javadoc,Listcontains您将看到它使用该equals()方法来评估两个对象是否相同。

以上是 ArrayList 的 contains() 方法如何评估对象? 的全部内容, 来源链接: www.h5w3.com/z/754582.html

回到顶部