为什么我的 Java LinkedHashSet 不删除它包含的对象?

mek*_*azu 2 java linkedhashset

我在 aLinkedHashSet中有一个实现equals, hashCodeand compareTo(在超类中)的对象,但是当我尝试从集合中删除那个确切的对象时,set.remove(obj)remove 方法返回false并且该对象保留在集合中。的实现是否LinkedHashSet应该调用equals()其对象的方法?因为它没有。这可能是一个java错误吗?我正在运行 1.6.0_25。

Ste*_*nne 5

我的猜测是您的对象的hashCode()实现返回的值与您将对象添加到集合时返回的值不同。