Generating equals/hashCode implementation but without a call to superclass


Generating equals/hashCode implementation but without a call to superclass
1、lombok 警告,沒有注入父類的字段

當我們給一個繼承了父類的子類上使用@Data @ToString @EqualsAndHashCode 注解時,IDE 會警告

    Generating equals/hashCode implementation but without a call to superclass

意思是,該注解在實現 ToString EqualsAndHashCode 方法時,不會考慮父類的屬性,通過反編譯的源碼也是可以看到他是沒有對父類的字段進行比較的
2、解決方式一:直接在子類上聲明 @EqualsAndHashCode(callSuper = true)
3、解決方式二[推薦]:在項目的src/main/java根目錄下創建lombok配置文件

    請注意,該方式有版本要求,最低為lombok 1.14

如果是IDEA ,創建該配置文件會被IDEA 以一個黃色的小配置圖標進行顯示

配置文件(lombok.config)的配置內容如下

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

1、config.stopBubbling=true

該配置聲明這個配置文件是一個根配置文件,他會從該配置文件所在的目錄開始掃描
2、lombok.equalsAndHashCode.callSuper=call

全局配置 equalsAndHashCode 的 callSuper 屬性為true,這樣就不用每個類都要去寫了
3、lombok 配置的分層

lombok 配置文件支持分層,在根目錄配置的的配置文件對全局生效,如果某個子包中也有配置文件,則子包的類優先以子包中的配置為准

 

 


原文鏈接:https://blog.csdn.net/qq_15071263/java/article/details/91660519


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM