1

我已经创建了 XOM 的子类,Element并希望将它们与容器一起使用,例如SetHashMap. 然而,这些都需要一种equals(Object obj)方法。我已经实现了一个相等的算法,但不能像XOM.Node()声明equals(Object obj)的那样使用它final。有什么办法可以轻松克服吗?[如果这是唯一的方法,我可以创建一个包装器/委托]。

4

1 回答 1

1

所有 XOM 节点都有 equals 方法和 hashCode 方法,就像所有 Java 对象一样,将它们与 Set 或 HashMap 等容器一起使用。仅支持身份平等的决定是经过深思熟虑的,这就是为什么 equals 方法是最终的。问题是为什么你需要使用不同的平等概念?例如,如果两个节点看起来相同但位于不同的位置,或者位于不同的文档中,则它们通常被认为是不同的元素。将它们视为相同的用例是什么?

于 2013-04-24T09:23:42.247 回答