溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

hashCode()和equals()有哪些區(qū)別

發(fā)布時間:2021-12-03 16:55:41 來源:億速云 閱讀:127 作者:小新 欄目:編程語言

小編給大家分享一下hashCode()和equals()有哪些區(qū)別,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

兩個對象hashCode()相同,equals() 也一定為 true嗎?

首先,答案肯定是不一定。同時反過來equals為true,hashCode也不一定相同。

類的hashCode方法和equals方法都可以重寫,返回的值完全在于自己定義。

hashCode()返回該對象的哈希碼值;equals()返回兩個對象是否相等。

關于hashCode和equal是方法是有一些 常規(guī)協(xié)定 :

1、兩個對象用equals()比較返回true,那么兩個對象的hashCode()方法必須返回相同的結果。

2、兩個對象用equals()比較返回false,不要求hashCode()方法也一定返回不同的值,但是最好返回不同值,億提搞哈希表性能。

3、重寫equals()方法,必須重寫hashCode()方法,以保證equals方法相等時兩個對象hashcode返回相同的值

以上是“hashCode()和equals()有哪些區(qū)別”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI