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

lombok的@EqualsAndHashcode注解詳解

 更新時(shí)間:2025年03月31日 09:18:41   作者:Old Wang  
這篇文章主要介紹了lombok的@EqualsAndHashcode注解的用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

有時(shí)候我們?cè)趯?shí)體類(lèi)上面會(huì)使用@Data注解,這個(gè)注解帶了@EqualsAndHashcode注解。

一、用法

  • ①of 用來(lái)指明你要用什么字段來(lái)重寫(xiě)equals和hashcode(具體怎么重寫(xiě)看下文)
  • ②callSuper 這個(gè)選項(xiàng)只能用在有父類(lèi)情況下,如上圖如果沒(méi)有Father那么會(huì)報(bào)錯(cuò)。默認(rèn)是false,當(dāng)改成true后,會(huì)調(diào)用父類(lèi)的equals方法(具體看下文例子)

那么上文中這樣設(shè)置,new了2個(gè)child,不管是equals還是hashcode那么他們都是一樣的

二、lombok是怎么重寫(xiě)equals和hashcode方法

equals:

  • 父類(lèi):

  • 子類(lèi):

hashcode:

  • 父類(lèi):

  • 子類(lèi):

總結(jié)

1、使用了@EqualsAndHashcode注解,那么他們都將重寫(xiě)equals和hashcode方法,而這兩個(gè)方法都是根據(jù)你of指定的屬性(默認(rèn)全部)而生成的。

2、繼承時(shí)候父類(lèi)通常也要加上該屬性,否則equals為false,hashcode會(huì)不一樣

3、使用集合類(lèi)時(shí)候也要小心一點(diǎn),例如hashmap,會(huì)造成2個(gè)對(duì)象但是會(huì)覆蓋(雖然我們業(yè)務(wù)邏輯上認(rèn)為他們相等)。

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

相關(guān)文章

最新評(píng)論