Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我已经创建了 XOM 的子类,Element并希望将它们与容器一起使用,例如Set或HashMap. 然而,这些都需要一种equals(Object obj)方法。我已经实现了一个相等的算法,但不能像XOM.Node()声明equals(Object obj)的那样使用它final。有什么办法可以轻松克服吗?[如果这是唯一的方法,我可以创建一个包装器/委托]。
Element
Set
HashMap
equals(Object obj)
XOM.Node()
final
所有 XOM 节点都有 equals 方法和 hashCode 方法,就像所有 Java 对象一样,将它们与 Set 或 HashMap 等容器一起使用。仅支持身份平等的决定是经过深思熟虑的,这就是为什么 equals 方法是最终的。问题是为什么你需要使用不同的平等概念?例如,如果两个节点看起来相同但位于不同的位置,或者位于不同的文档中,则它们通常被认为是不同的元素。将它们视为相同的用例是什么?