番石榴套装的差异如何?

pro*_*er8 4 java guava

什么时候被认为是两个不同的对象Sets.difference.当它们有不同的哈希码或者object.equals返回false时.

JB *_*zet 10

javadoc说:

返回的集合包含由其set1包含但未包含的所有元素set2

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

hashCode() 永远不会被任何(正确的)Set实现用来确定相等性,因为两个不相等的对象可能具有相同的hashCode.