您好,登錄后才能下訂單哦!
小編給大家分享一下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è)資訊頻道!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。