对于XOM元素的子类,为equals()

时间:2013-04-02 21:56:31

标签: java equals xom

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

1 个答案:

答案 0 :(得分:1)

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