使用lombok @Data时(添加EqualsAndHashCode)
它添加了canEqual
方法
仅被调用一次:
我搜索并找到关于访问级别的discussions
但是为什么我们需要这种生成的方法?不能内联吗?
最佳答案
canEqual
方法在名为How to Write an Equality Method in Java的论文中定义。此方法旨在允许在保持层次结构协定的同时在类层次结构的多个级别上重新定义相等性:
好像它是在Lombok 0.10中引入的,如 @EqualsAndHashCode
文档中所述:
并且文档更进一步,引用了上面引用的论文: