我已经创建了XOM Element的子类,并希望将它们与Set或HashMap等容器一起使用。但是,这些都需要一个equals(Object obj)方法。我已经实现了一个相等算法,但不能使用它,因为XOM.Node()将equals(Object obj)声明为final。有什么方法可以让我轻松克服这个问题吗?如果这是唯一的方法,我可以创建一个包装器/委托。
发布于 2013-04-24 17:23:42
所有的XOM节点都有equals方法和hashCode方法,就像所有的Java对象一样,可以将它们与Set或HashMap等容器一起使用。只支持身份平等的决定是经过深思熟虑的,这就是为什么equals方法是最终的。问题是,为什么你需要使用不同的平等概念?例如,如果两个节点看起来相同,但在不同的位置,或者在不同的文档中,它们通常被认为是不同的元素。将它们视为相同的用例是什么?
https://stackoverflow.com/questions/15775164
复制相似问题