W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
本節(jié)介紹如何在 IntelliJ IDEA 中生成 equals() 和 hashCode() 方法。
對(duì)于 IntelliJ IDEA 中的 equals() 和 hashCode() 我們或許可以這樣理解:equals() 相等的兩個(gè)對(duì)象,hashcode()一定相等,equals()不相等的兩個(gè)對(duì)象,卻并不能證明他們的 hashcode() 不相等。換句話說,equals() 方法不相等的兩個(gè)對(duì)象,hashCode() 有可能相等。
讓我們來看兩個(gè)代碼:
public boolean equals(Object obj)
如果作為參數(shù)傳遞給它的對(duì)象等于調(diào)用此方法的對(duì)象, 則此方法返回 true。
public int hashCode()
此方法返回調(diào)用此方法的對(duì)象的整數(shù)哈希碼值。
tip:如果類中已經(jīng)存在方法equals()和hashCode()方法,則在繼續(xù)操作之前,系統(tǒng)將提示您刪除它們。
要生成 equals() 和 hashCode() 方法,請(qǐng)按照下列步驟操作:
如下示例:
public boolean equals(Object o) {
if (this == o) return true;
if (o == null
|| getClass() != o.getClass()) return false;
FixedRateCurrencyExchangeService that = (FixedRateCurrencyExchangeService) o;
if (Double.compare(that.rate, rate) != 0) return false;
return true;
}
public int hashCode() {
long temp = rate != +0.0d ? Double.doubleToLongBits(rate) : 0L;
return int (temp ^ (temp >>> 32));
}
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: