나는 두 번째 이클립스 디버거 중DefaultListModel.contains()는 무엇을합니까?
downsPanel.relsListModel.elementAt(4)==oldValue
및
downsPanel.relsListModel.contains(oldValue)
먼저 true
평가에 다음 식을 시청하고 있어요 - false
에.
즉, 은 내가 예상 한 것을 수행하지 않습니다. 그러면 그것은 무엇을합니까?
나는 두 번째 이클립스 디버거 중DefaultListModel.contains()는 무엇을합니까?
downsPanel.relsListModel.elementAt(4)==oldValue
및
downsPanel.relsListModel.contains(oldValue)
먼저 true
평가에 다음 식을 시청하고 있어요 - false
에.
즉, 은 내가 예상 한 것을 수행하지 않습니다. 그러면 그것은 무엇을합니까?
두 테스트가 같은 지점에서 수행되었다고 가정 할 때, 이는 단지 하나만을 의미 할 수 있습니다. oldValue.equals(oldValue)
은 false
을 반환합니다.
문제는 해결해야 할 equals
방법에 있습니다.
DefaultListModel.contains(Object)
후원자에게 Vector
님의 contains
대표가 있습니다.
public boolean contains(Object elem) {
return delegate.contains(elem);
}
아마도 이것은 equals
관련 문제 (물론 hashCode
를 해결하는 것을 잊지 마세요)입니다.
oldValue 클래스는 무엇입니까? 그것은 매우 이상한 equals 메서드가 있습니까? –
당신 말이 맞았습니다. 리팩토링 후에 equals()를 수정하는 것을 잊어 버렸습니다. –