lombok注解@Data使用在继承类上时出现警告


  在写IDEA中写程序时,可以发现有提示警告。

  有两种处理方式,目前使用的是比较方便的方法。

1.现象

  

  因为,ContractMonitor是BaseEntity的派生类。 

@Data
public class ContractMonitor extends BaseEntity {

  

 2.这个时候看编译后的代码

  可以发现,这里result=1,BaseEntity的属性不在其中。

  

 

 

3.处理

  在实体类上继续加上注解,@EqualsAndHashCode(callSuper = true)

  看编译后的class,可以发现,调用了父类的hashCode方法,说明,父类的属性也被添加到hashcode的计算中了。

  是合理的。

  

 

 

4.说明

  在实体类上继续加上注解,@EqualsAndHashCode(callSuper = false)。

  这种效果就是相当于不考虑父类的字段属性。

 

二:第二种方式

1.新建一个lombok.config

  在java目录下

  

 

 

2.内容

config.stopBubbling=true
lombok.equalsAndHashCode.callSuper=call

  

3.就存在效果了

 

三:参考文档

  https://stackoverflow.com/questions/38572566/warning-equals-hashcode-on-data-annotation-lombok-with-inheritance

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM