番石榴套装的差异如何?

时间:2013-12-03 07:47:50

标签: java guava

Sets.difference中哪两个对象被认为是不同的。当他们有不同的哈希码或object.equals返回false时。

1 个答案:

答案 0 :(得分:10)

javadoc说:

  

返回的集合包含set1包含但未包含在set2

中的所有元素

因此,这意味着规则取决于两组的类型。例如,如果Set是HashSet,则将使用equals()。如果集合是TreeSet,则将使用compareTo()(或比较器的compare()方法)。如果使用IdentityHashSet,则将使用该对象的标识。

任何(正确的)Set实现都不会使用

hashCode()来确定相等性,因为两个不相等的对象可能具有相同的hashCode。