没加这个注解时,@Data会出现提示
Generating equals/hashCode implementation but without a call to superclass, even though this class does not extend java.lang.Object. If this is intentional, add ‘(callSuper=false)’ to your type.
机翻一下:
生成equals/hashCode实现,但不调用超类,即使该类没有扩展java.lang.Object。如果这是故意的,添加’ (callSuper=false) '到你的类型。
意思是:
你这个bean对象是个继承对象,并且不是继承公共类Object,所以我这个lombok帮你生成equals/hashCode
方法时,想明确你的态度,到底要不要把你这个bean对象继承的父类的属性值也添加进equals/hashCode
方法内。
如果不要添加父类的属性值,就@EqualsAndHashCode(callSuper = false)
如果要添加父类的属性值,就@EqualsAndHashCode(callSuper = true)
而即便是不加@EqualsAndHashCode(callSuper = false)
,@Data
的默认值也是false,也就是不添加父类的属性、
但lombok就是想提醒你我这个值默认是false,这大鹏的瓜你要不要吧?不要也得给我加上false!