当我们可以直接使用Object
类方法时,Collection
接口为什么具有equals()
和hashCode()
...为什么?
您正在考虑编译条款。Java SE是一个面向对象的库;方法定义为A 合同的一部分,不仅要声明其他代码WEN汇编的方法。
collection.equals优化对象的合同。等于其他规定:
Object.equals
方法的一般合同指出,等于对称的方法必须是对称的(换句话说,a.equals(b)
时,仅在b.equals(a)
时才在CC_6时)。列表的List.equals
和Set.equals
状态的合同仅等于其他列表,并设置为其他集合。因此,将List
和Set
接口的定制equals
方法用于将此集合与任何列表进行比较或设置时。