hashcode和equals的區(qū)別是:1、若兩個(gè)對(duì)象equals返回true,則hashCode有必要也返回相同的int數(shù);2、若兩個(gè)對(duì)象hashCode返回相同int數(shù),則equals不一定返回true。
十多年的永修網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)整合營(yíng)銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整永修建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“永修網(wǎng)站設(shè)計(jì)”,“永修網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
hashcode:對(duì)象的初始地址的整數(shù)表示
Java中的對(duì)象是JVM在管理,JVM會(huì)在她認(rèn)為合適的時(shí)候?qū)?duì)象進(jìn)行移動(dòng),比如,在某些需要整理內(nèi)存碎片的GC算法下發(fā)生的GC。此時(shí),對(duì)象的地址會(huì)變動(dòng),但hashcode不會(huì)改變。
hashCode是為了提高在散列結(jié)構(gòu)存儲(chǔ)中查找的效率,在線性表中沒(méi)有作用。
一般一個(gè)類的對(duì)象如果會(huì)存儲(chǔ)在HashTable,HashSet,HashMap等散列存儲(chǔ)結(jié)構(gòu)中,那么重寫(xiě)equals后最好也重寫(xiě)hashCode,否則會(huì)導(dǎo)致存儲(chǔ)數(shù)據(jù)的不唯一性(存儲(chǔ)了兩個(gè)equals相等的數(shù)據(jù))。而如果確定不會(huì)存儲(chǔ)在這些散列結(jié)構(gòu)中,則可以不重寫(xiě)hashCode。
若兩個(gè)對(duì)象equals返回true,則hashCode有必要也返回相同的int數(shù)。
若兩個(gè)對(duì)象equals返回false,則hashCode不一定返回不同的int數(shù),但為不相等的對(duì)象生成不同hashCode值可以提高哈希表的性能。
若兩個(gè)對(duì)象hashCode返回相同int數(shù),則equals不一定返回true。
若兩個(gè)對(duì)象hashCode返回不同int數(shù),則equals一定返回false。
同一對(duì)象在執(zhí)行期間若已經(jīng)存儲(chǔ)在集合中,則不能修改影響hashCode值的相關(guān)信息,否則會(huì)導(dǎo)致內(nèi)存泄露問(wèn)題。
一般來(lái)說(shuō)涉及到對(duì)象之間的比較大小就需要重寫(xiě)equals方法。
推薦教程: 《java教程》
標(biāo)題名稱:hashcode和equals的區(qū)別什么
網(wǎng)站網(wǎng)址:http://www.rwnh.cn/article2/cpigic.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)、企業(yè)網(wǎng)站制作、App開(kāi)發(fā)、移動(dòng)網(wǎng)站建設(shè)、虛擬主機(jī)、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)