contains方法在list(實體類)中騷套路

2021-10-10 22:13:32 字數 1075 閱讀 7925

在list集合中放置乙個實體類物件如何使用contains類進行比較是否為物件的子集

listdrugasocdos.

contains

(listdrugasocdo)

在contains原始碼中發現

public

boolean

contains

(object o)

else

return

false

;}

contains方法是底層是使用equals方法進行比較所以,實體類中只要有部分不同就集合不是子集。所以我們想使用部分實體類的部分元素進行比較是否為子集就需要我們去重寫實體類的equals的方法。

比如:在mybatis中使用雪花演算法進行id的插入,在插入兩條相同的資料但是他們的id是不能相同的所以使用這個contains方法就是行不通的

重寫equals的技巧(當然也帶重寫hashcode),將需要比較的字段拼接在string的字串中進行比較

@override

public

boolean

equals

(object o)

if(o == null ||

getclass()

!= o.

getclass()

) listdrugasocdo that =

(listdrugasocdo) o;

string thisstr = tenditmid +

"-"+ druglistid +

"-"+ drugcode;

string thatstr = that.tenditmid +

"-"+ that.druglistid +

"-"+ that.drugcode;

return thisstr.

equals

(thatstr);}

@override

public

inthashcode()

關於List的contains方法問題

double i math.random num num if randoms.contains i int j randoms.get loop intvalue 上面是我寫的乙個 想要生成乙個0到num num的隨機數,不過執行後發現j仍然會出現重複。我查閱了contains的原始碼,是這樣的 ...

golang 通用Contains方法

今天在群裡看見有人寫了乙個inaarry方法,主要作用是判斷乙個元素是否在slice中,看完後,我感覺方法應該還有擴充套件的空間 於是自己重新寫了乙個contains方法,可以支援 slice,array,map等型別 package main import errors fmt reflect 判...

jq中的contains方法

contains 方法用於判斷指定元素內是否包含另乙個元素。即判斷另乙個dom元素是否是指定dom元素的後代。例項 檢測乙個元素包含在另乙個元素之內 function funcontain contains document.documentelement,document.body true fu...