【发布时间】:2013-04-22 19:18:09
【问题描述】:
假设我有这样的课程:
class A {
int elementA;
int elementB
}
我也有这样的ArrayList:ArrayList<A> listObj。
如何检查该列表是否包含仅使用A 的某些属性的对象?例如。只考虑elementA 来查找对象newA{elementA} 是否已经在列表中?
对于对象A,我定义了一个equals 方法,我只考虑elementA,但这还不够。
【问题讨论】:
-
显示您的
equals方法。 -
如果您正确地覆盖了您的 equals(),那么 listObj.contains(new A(elemAvalue)) 应该可以工作。请注意,您还应该仅考虑 elementA 值来覆盖 hashCode,尽管它与此示例在功能上不相关。
-
if (!days.contains(getDate())) { days.add(getDate()); } -
对于equals我使用here is example作为源(equals和hashCode)