Java自定義類中重寫equals方法-創(chuàng)新互聯(lián)

equals方法的要求:
a.自反性:對于任何非空的x,x.equals(x)都應(yīng)該返回true
b.對稱性:對于任何引用x和y,當且僅當x.equals(y)返回true時,y.equals(x)也應(yīng)該返回true
c.傳遞性:對于任何引用x,y,z,如果x.equals(y)返回true,y.equals(z)返回true,那么x.equals(z)也應(yīng)該返回true
d.一致性:如果x和y的引用沒有發(fā)生變化,那么反復調(diào)用x.equals(y)的結(jié)果應(yīng)該相同
e.對于任何非空的引用x,x.equals(null)應(yīng)該返回false

創(chuàng)新互聯(lián)建站是一家專注于成都網(wǎng)站設(shè)計、網(wǎng)站制作與策劃設(shè)計,黃陵網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:黃陵等地區(qū)。黃陵做網(wǎng)站價格咨詢:13518219792
public?class?A???{???
???????public?boolean?equals(Object?otherObject)
??{???????//測試兩個對象是否是同一個對象,是的話返回true
???????if(this==otherObject)?return?true;???????//測試檢測的對象是否為空,是就返回false
???????if(otherObject==null)?return?false;???????//測試兩個對象所屬的類是否相同,否則返回false
???????if(getClass()!=otherObject.getClass())??return?false;???????//對otherObject進行類型轉(zhuǎn)換以便和類A的對象進行比較
???????A?other=(A)otherObject;???????//對于值可能為null的屬性,檢測時應(yīng)使用Object的equals方法,不為null的可以直接使用==檢測
???????return?Object.equals(類A對象的屬性A,other的屬性A)&&類A對象的屬性B==other的屬性B……;
???}????
}

在子類定義equals方法時使用super.equals方法進行重載復寫。

一般來說,重寫了equals方法就同時也要重寫hashCode方法

Java自定義類中重寫equals方法

重寫hashCode方法的原因

public?int?hashCode(){??//其中Double根據(jù)需要換成所需類型,第一個乘數(shù)因子為素數(shù)(也叫質(zhì)數(shù))
???return?7*Object.hashCode(有可能為null的屬性A)+?????????11*new?Double(不為null的屬性B).hashcode()+
?????????……
}

或者有更簡單的方法

public?int?hashCode(){????return?Object.hashCode(屬性A,屬性B,屬性C,……);
}

歡迎工作一到五年的Java工程師朋友們加入Java技術(shù)交流群:659270626
群內(nèi)提供免費的Java架構(gòu)學習資料(里面有高可用、高并發(fā)、高性能及分布式、Jvm性能調(diào)優(yōu)、Spring源碼,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多個知識點的架構(gòu)資料)合理利用自己每一分每一秒的時間來學習提升自己,不要再用"沒有時間“來掩飾自己思想上的懶惰!趁年輕,使勁拼,給未來的自己一個交代!

創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務(wù)器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機房獨有T級流量清洗系統(tǒng)配攻擊溯源,準確進行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動現(xiàn)已開啟,新人活動云服務(wù)器買多久送多久。

網(wǎng)頁題目:Java自定義類中重寫equals方法-創(chuàng)新互聯(lián)
文章地址:http://muchs.cn/article36/dhgspg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站網(wǎng)站營銷、定制開發(fā)電子商務(wù)、微信小程序、軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計公司