0

我正在 Eclipse 调试器中观看以下表达式

downsPanel.relsListModel.elementAt(4)==oldValue

downsPanel.relsListModel.contains(oldValue)

第一个评估为true,第二个评估为false

这意味着contains()不符合我的预期。那它有什么作用呢?

4

2 回答 2

1

假设两个测试在同一点完成,这可能只意味着一件事:oldValue.equals(oldValue)返回false

所以问题出在equals必须解决的方法上。

于 2012-10-05T17:15:45.927 回答
1

DefaultListModel.contains(Object)代表来后盾Vectorcontains

public boolean contains(Object elem) {
    return delegate.contains(elem);
}

也许这是一个equals相关的问题(不要忘记修复hashCode)。

于 2012-10-05T17:15:49.047 回答