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

Springboot?注解EqualsAndHashCode詳解

 更新時(shí)間:2024年10月17日 09:34:52   作者:pqdl4312  
注解@EqualsAndHashCode主要用于自動(dòng)生成equals方法和hashCode方法,callSuper屬性為true時(shí),生成的方法會(huì)包括父類(lèi)字段,為false則只包含當(dāng)前類(lèi)字段,IDEA工具中有檢查提示并可自動(dòng)修復(fù)相關(guān)代碼,確保注解正確使用,更多詳解可查閱相關(guān)文檔

先看問(wèn)題,如圖所示

注解解釋

@EqualsAndHashCode 作用與子類(lèi)上

  • callSuper = true,根據(jù)子類(lèi)自身的字段值和從父類(lèi)繼承的字段值來(lái)生成hashcode,當(dāng)兩個(gè)子類(lèi)對(duì)象比較時(shí),只有子類(lèi)對(duì)象的本身的字段值和繼承父類(lèi)的字段值都相同,equals方法的返回值是true。

  • callSuper = false,根據(jù)子類(lèi)自身的字段值來(lái)生成hashcode, 當(dāng)兩個(gè)子類(lèi)對(duì)象比較時(shí),只有子類(lèi)對(duì)象的本身的字段值相同,父類(lèi)字段值可以不同,equals方法的返回值是true。

IDEA檢查提示并快速修復(fù)

正在生成 equals/hashCode 實(shí)現(xiàn),但即使此類(lèi)未擴(kuò)展 java.lang.Object,也不調(diào)用超類(lèi)。如果這是有意為之,請(qǐng)?jiān)谀念?lèi)型中添加 ‘(callSuper=false)’。
檢查信息: 提供 Lombok 注解的一般檢查。

點(diǎn)擊后,快速修復(fù)添加注解

測(cè)試代碼

package com.st;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import org.junit.Test;
/**
 * @author st
 * @date 2024/1/9 15:36
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
class Animal {
    private String name;
}
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
class Cat extends Animal {
    private String age;
    public Cat(String name, String age) {
        super(name);
        this.age = age;
    }
}
public class TestAnnotation {
    @Test
    public void testCat() {
        Cat cat1 = new Cat("1", "1");
        Cat cat2 = new Cat("2", "1");
        System.out.println(cat1.equals(cat2));
    }
}

到此這篇關(guān)于Springboot 注解EqualsAndHashCode的文章就介紹到這了,更多相關(guān)Springboot 注解EqualsAndHashCode內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 深入聊一聊JDK中的Map和Set

    深入聊一聊JDK中的Map和Set

    這篇文章主要給大家介紹了關(guān)于JDK中Map和Set的相關(guān)資料,文中通過(guò)示例代碼以及圖文介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用jdk具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-12-12
  • Spring boot如何快速的配置多個(gè)Redis數(shù)據(jù)源

    Spring boot如何快速的配置多個(gè)Redis數(shù)據(jù)源

    這篇文章主要介紹了Spring boot如何快速的配置多個(gè)Redis數(shù)據(jù)源,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • java接口性能從20s優(yōu)化到500ms示例詳解

    java接口性能從20s優(yōu)化到500ms示例詳解

    這篇文章主要為大家介紹了java接口性能從20s優(yōu)化到500ms的操作技巧示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • MyBatis查詢(xún)無(wú)記錄時(shí)的返回值問(wèn)題

    MyBatis查詢(xún)無(wú)記錄時(shí)的返回值問(wèn)題

    這篇文章主要介紹了MyBatis查詢(xún)無(wú)記錄時(shí)的返回值問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • Java8中的Lambda表達(dá)式理解與使用示例詳解

    Java8中的Lambda表達(dá)式理解與使用示例詳解

    Lambda表達(dá)式是Java8引入的一種簡(jiǎn)潔寫(xiě)法,用于實(shí)現(xiàn)函數(shù)式接口,可以簡(jiǎn)化匿名函數(shù)的代碼,本文給大家介紹Java8中的Lambda表達(dá)式理解與使用示例,感興趣的朋友一起看看吧
    2024-11-11
  • 有關(guān)于整體刷新和局部刷新frameset窗口

    有關(guān)于整體刷新和局部刷新frameset窗口

    本篇小編為大家介紹有關(guān)于整體刷新和局部刷新frameset窗口的方法,希望對(duì)有需要的朋友有所幫助。
    2013-04-04
  • 對(duì)Java ArrayList的自動(dòng)擴(kuò)容機(jī)制示例講解

    對(duì)Java ArrayList的自動(dòng)擴(kuò)容機(jī)制示例講解

    今天小編就為大家分享一篇對(duì)Java ArrayList的自動(dòng)擴(kuò)容機(jī)制示例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • java 分行讀取實(shí)例

    java 分行讀取實(shí)例

    今天小編就為大家分享一篇java 分行讀取實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • 基于@GetMapping注解攜帶參數(shù)的方式

    基于@GetMapping注解攜帶參數(shù)的方式

    這篇文章主要介紹了基于@GetMapping注解攜帶參數(shù)的方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • 解決IDEA啟動(dòng)springboot項(xiàng)目報(bào)錯(cuò)java.lang.ClassNotFoundException:?javax.servlet.ServletContext

    解決IDEA啟動(dòng)springboot項(xiàng)目報(bào)錯(cuò)java.lang.ClassNotFoundException:?jav

    這篇文章主要介紹了解決IDEA啟動(dòng)springboot項(xiàng)目報(bào)錯(cuò)java.lang.ClassNotFoundException:?javax.servlet.ServletContext問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01

最新評(píng)論