我有一个从其他继承的实体。另一方面,我正在使用lombok项目来减少样板代码,因此我添加了@Data
批注。具有继承性的注释@Data
会产生下一个警告:
建议添加注释@EqualsAndHashCode (callSuper = true)
或@EqualsAndHashCode (callSuper = false)
吗?如果未添加,它是 callSuper=false
还是 callSuper=true
?
最佳答案
default value是false
。如果您不指定它,而忽略警告,那就是您得到的。
是的,建议在带@EqualsAndHashCode
注释的类上添加@Data
注释,以扩展除Object之外的内容。我不能告诉您是否需要true
或false
,这取决于您的类层次结构,并且需要根据具体情况进行检查。
但是,对于项目或包,如果它不是Object的直接子类,则可以在lombok.config
中进行配置以调用 super 方法。
lombok.equalsAndHashCode.callSuper = call
有关其工作原理,请参见configuration system documentation,有关受支持的配置 key ,请参见
@EqualsEndHashCode
documentation。披露:我是lombok开发人员。