相关疑难解决方法(0)

hashCode和equals for Collections.unmodifiableCollection()

Collections类有很多的静态辅助方法来提供只读视图各种集合类型,例如unmodifiableSet(),unmodifiableList()等等.对于这些视图对象中,hashCode()equals()方法前调用底层集合......随着一个奇怪的例外:unmodifiableCollection().

JavaDoc 明确指出:

返回的集合并没有将hashCode并传递给底层集合等于操作,但依靠ObjectequalshashCode方法.在后备集合是集合或列表的情况下,这对于保留这些操作的合同是必要的.

我的问题:wtf是这个在谈论?如果支持集合是集合或列表,我希望行为与unmodifiableSet()和一致unmodifiableList().怎么会违反hashCode/equals合约?

java collections unmodifiable

13
推荐指数
1
解决办法
1677
查看次数

标签 统计

collections ×1

java ×1

unmodifiable ×1