91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

Java自定義類中重寫equals方法

發布時間:2020-06-24 03:45:35 來源:網絡 閱讀:436 作者:沙漏半杯 欄目:編程語言

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

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進行類型轉換以便和類A的對象進行比較
???????A?other=(A)otherObject;???????//對于值可能為null的屬性,檢測時應使用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根據需要換成所需類型,第一個乘數因子為素數(也叫質數)
???return?7*Object.hashCode(有可能為null的屬性A)+?????????11*new?Double(不為null的屬性B).hashcode()+
?????????……
}

或者有更簡單的方法

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

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


向AI問一下細節

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

AI

河间市| 梅州市| 荥经县| 镇原县| 孙吴县| 盐城市| 九江县| 南川市| 宾川县| 武陟县| 长治市| 陆良县| 乐至县| 平武县| 峡江县| 酉阳| 临邑县| 南安市| 泾川县| 枣阳市| 班玛县| 仪征市| 连平县| 江达县| 闽侯县| 大足县| 淮安市| 集贤县| 惠州市| 德令哈市| 深泽县| 明光市| 邯郸市| 辰溪县| 武宣县| 宜宾市| 长沙市| 灵川县| 鄂尔多斯市| 施甸县| 郴州市|