Java log4j AbstractFilter.equals()似乎执行对象标识等于

Java log4j AbstractFilter.equals()似乎执行对象标识等于,java,log4j2,Java,Log4j2,最近将log4j从2.1更新到2.2,我们的一个测试失败,它比较了两个过滤器。原因似乎是旧版本检查(最终)AbstractFilter中的两个筛选器的IVAR是否匹配(在经过AbstractLifeCycle equals方法之后),但在新版本中AbstractLifeCycle没有equals(),因此它会转到Object.equals(),这当然会在不同的实例中失败 我错过了做什么,还是这是一个bug?我们故意从AbstractLifeCycle中删除了equals实现,因为超类不知道equ

最近将log4j从2.1更新到2.2,我们的一个测试失败,它比较了两个过滤器。原因似乎是旧版本检查(最终)AbstractFilter中的两个筛选器的IVAR是否匹配(在经过AbstractLifeCycle equals方法之后),但在新版本中AbstractLifeCycle没有equals(),因此它会转到Object.equals(),这当然会在不同的实例中失败


我错过了做什么,还是这是一个bug?

我们故意从AbstractLifeCycle中删除了equals实现,因为超类不知道equals对所有子类意味着什么。有关详细信息,请参阅


子类本身应该实现equals()和hashCode()。很抱歉给您带来不便。

好的,谢谢您-那么AbstractFilter中的equals()实现现在坏了吗?这需要一份bug报告吗?