Springboot?注解EqualsAndHashCode詳解
先看問(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)文章
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-06MyBatis查詢(xún)無(wú)記錄時(shí)的返回值問(wèn)題
這篇文章主要介紹了MyBatis查詢(xún)無(wú)記錄時(shí)的返回值問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01對(duì)Java ArrayList的自動(dòng)擴(kuò)容機(jī)制示例講解
今天小編就為大家分享一篇對(duì)Java ArrayList的自動(dòng)擴(kuò)容機(jī)制示例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-10-10解決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