我有一个从其他继承的实体。另一方面,我正在使用lombok项目来减少样板代码,因此我添加了@Data批注。具有继承性的注释@Data会产生下一个警告:



建议添加注释@EqualsAndHashCode (callSuper = true)@EqualsAndHashCode (callSuper = false)吗?如果未添加,它是 callSuper=false 还是 callSuper=true

最佳答案

default valuefalse。如果您不指定它,而忽略警告,那就是您得到的。

是的,建议在带@EqualsAndHashCode注释的类上添加@Data注释,以扩展除Object之外的内容。我不能告诉您是否需要truefalse,这取决于您的类层次结构,并且需要根据具体情况进行检查。

但是,对于项目或包,如果它不是Object的直接子类,则可以在lombok.config中进行配置以调用 super 方法。

lombok.equalsAndHashCode.callSuper = call

有关其工作原理,请参见configuration system documentation,有关受支持的配置 key ,请参见 @EqualsEndHashCode documentation

披露:我是lombok开发人员。

07-26 09:29