欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java之注解@Data和@ToString(callSuper=true)解讀

 更新時(shí)間:2024年11月06日 09:48:03   作者:A_bad_horse  
在使用Lombok庫(kù)的@Data注解時(shí),若子類(lèi)未通過(guò)@ToString(callSuper=true)注明包含父類(lèi)屬性,toString()方法只打印子類(lèi)屬性,解決方法:1. 子類(lèi)重寫(xiě)toString方法;2. 子類(lèi)使用@Data和@ToString(callSuper=true),父類(lèi)也應(yīng)使用@Data

問(wèn)題復(fù)現(xiàn)

@Data
public class People {
    private String height;
    private String weight;
}
@Data
public class Student extends People {
    private String name;
}
public class Test {
    public static void main(String[] args) {
        Student student = new Student();
        student.setHeight("180cm");
        student.setWeight("65kg");
        student.setName("Jack");

        System.out.println(student.toString());
    }
}

運(yùn)行代碼后,打印如下:

Student(name=Jack)

Root Cause

如果domain中沒(méi)有重寫(xiě)toString, 且使用了@Data注解, 調(diào)用toString時(shí)只會(huì)打印子類(lèi)本身的屬性值, 如果想要打印父類(lèi)的屬性:

  • 方式一:重寫(xiě)tostring
  • 方式二:子類(lèi)加上@Data和@ToString(callSuper = true)兩個(gè)注解, 父類(lèi)也使用注解@Data

解決方案

@Data
@ToString(callSuper = true)
public class Student extends People {
    private String name;
}

行代碼后,打印如下:

Student(super=People(height=180cm, weight=65kg), name=Jack)

lombok 使用@Data時(shí)會(huì)重寫(xiě)toString(),查看@Data源代碼;

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot之自定義Schema擴(kuò)展方式

    SpringBoot之自定義Schema擴(kuò)展方式

    這篇文章主要介紹了SpringBoot之自定義Schema擴(kuò)展方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • java多線程下載文件原理解析

    java多線程下載文件原理解析

    這篇文章主要為大家詳細(xì)介紹了java多線程下載文件原理,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • Java判斷ip是否為IPV4或IPV6地址的多種方式

    Java判斷ip是否為IPV4或IPV6地址的多種方式

    本文主要介紹了Java判斷ip是否為IPV4或IPV6地址的多種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • 從零開(kāi)始讓你的Spring?Boot項(xiàng)目跑在Linux服務(wù)器

    從零開(kāi)始讓你的Spring?Boot項(xiàng)目跑在Linux服務(wù)器

    這篇文章主要給大家介紹了如何從零開(kāi)始讓你的Spring?Boot項(xiàng)目跑在Linux服務(wù)器的相關(guān)資料,由于springboot是內(nèi)嵌了tomcat,所以可以直接將項(xiàng)目打包上傳至服務(wù)器上,需要的朋友可以參考下
    2021-11-11
  • Java實(shí)現(xiàn)FTP批量大文件上傳下載篇1

    Java實(shí)現(xiàn)FTP批量大文件上傳下載篇1

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)FTP批量大文件上傳下載的基礎(chǔ)篇,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-08-08
  • redis 使用lettuce 啟動(dòng)內(nèi)存泄漏錯(cuò)誤的解決方案

    redis 使用lettuce 啟動(dòng)內(nèi)存泄漏錯(cuò)誤的解決方案

    這篇文章主要介紹了redis 使用lettuce 啟動(dòng)內(nèi)存泄漏錯(cuò)誤的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-04-04
  • spring裝配bean的3種方式總結(jié)

    spring裝配bean的3種方式總結(jié)

    這篇文章主要給大家介紹了關(guān)于spring裝配bean的3種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者使用Spring具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Java數(shù)據(jù)結(jié)構(gòu)之鏈表實(shí)現(xiàn)(單向、雙向鏈表及鏈表反轉(zhuǎn))

    Java數(shù)據(jù)結(jié)構(gòu)之鏈表實(shí)現(xiàn)(單向、雙向鏈表及鏈表反轉(zhuǎn))

    這篇文章主要給大家介紹了關(guān)于Java數(shù)據(jù)結(jié)構(gòu)之鏈表實(shí)現(xiàn)的相關(guān)資料,其中包括單向鏈表、雙向鏈表及鏈表反轉(zhuǎn)的實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2021-06-06
  • 如何解決創(chuàng)建maven工程時(shí),產(chǎn)生“找不到插件的錯(cuò)誤”問(wèn)題

    如何解決創(chuàng)建maven工程時(shí),產(chǎn)生“找不到插件的錯(cuò)誤”問(wèn)題

    這篇文章主要介紹了如何解決創(chuàng)建maven工程時(shí),產(chǎn)生“找不到插件的錯(cuò)誤”問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 深入淺出探索Java分布式鎖原理

    深入淺出探索Java分布式鎖原理

    單體系統(tǒng)中,在高并發(fā)場(chǎng)景下想要訪問(wèn)共享資源的時(shí)候,我們需要通過(guò)加鎖的方式來(lái)保證共享資源并發(fā)的安全性,確保在同一時(shí)刻只有一個(gè)線程對(duì)共享資源進(jìn)行操作
    2022-02-02

最新評(píng)論