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