0

Eclipseデバッガーで次の式を見ています

downsPanel.relsListModel.elementAt(4)==oldValue

downsPanel.relsListModel.contains(oldValue)

それらの最初はに評価されtrue、2番目は-に評価されfalseます。

これは、それcontains()が私が期待することをしないことを意味します。それでは何をしますか?

4

2 に答える 2

1

両方のテストが同じポイントで実行されたとすると、これは1つのことだけを意味する可能性があります:oldValue.equals(oldValue)returns false

したがって、問題はequals修正する必要のある方法にあります。

于 2012-10-05T17:15:45.927 に答える
1

DefaultListModel.contains(Object)バッキングに委任しVectorますcontains

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

おそらくこれは関連する問題です(同様equalsに修正することを忘れないでください)。hashCode

于 2012-10-05T17:15:49.047 に答える