我在Eclipse调试器中看到以下表达式
downsPanel.relsListModel.elementAt(4)==oldValue
和
downsPanel.relsListModel.contains(oldValue)
其中第一个评估为true
,第二个评估为false
。
这意味着contains()
没有达到我的预期。那它做了什么?
答案 0 :(得分:1)
假设两个测试都在同一点完成,这只能意味着一件事:oldValue.equals(oldValue)
返回false
。
问题在于equals
方法,必须修复。
答案 1 :(得分:1)
DefaultListModel.contains(Object)
代表支持Vector
contains
。
public boolean contains(Object elem) {
return delegate.contains(elem);
}
这可能是equals
相关问题(不要忘记修复hashCode
)。