将equals()
和hashCode()
实现在简单的数据POJO中,会使我的代码混乱,维护起来也很麻烦。
有哪些库可以自动处理这个问题?
由于性能原因,我更喜欢字节码插装而不是AOP方法。
更新:关于实现equals()和hashCode()的必要性已经讨论过了,以下是我的观点:
难道不是更好的方式是一开始就做好最小的努力,而不是在代码中添加hC/eq时再去修改吗?
编辑2022: 我已经转换到Kotlin。 Kotlin处理了大部分Java的样板文件,对于equals()
的情况,请参见此页面:https://tedblob.com/kotlin-data-class/
equals
方法 - 只有你自己知道什么样的对象是相等的。你使用的IDE为什么不会自动生成hashCode
方法呢?为什么你需要对equals
和hashCode
进行这么多维护工作呢? - Paul