gpt4 book ai didi

java - log4j AbstractFilter.equals() 似乎执行对象身份等于

转载 作者:太空宇宙 更新时间:2023-11-04 14:01:34 25 4
gpt4 key购买 nike

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

我是否错过了某件事,或者这是一个错误?

最佳答案

我们特意从 AbstractLifeCycle 中删除了 equals 实现,因为父类(super class)无法知道相等对所有子类意味着什么。请参阅https://issues.apache.org/jira/browse/LOG4J2-891了解详情。

子类应该自己实现 equals() 和 hashCode()。对于给您带来的不便,我们深表歉意。

关于java - log4j AbstractFilter.equals() 似乎执行对象身份等于,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29256478/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com