国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

改寫equals的時候遵守約定

2019-11-18 13:19:34
字體:
來源:轉載
供稿:網友

  在java里面object equals()的概念是兩個引用指向的是同一個對象,即兩者指向同一個對象,才equals()。但是也有特例,比如說一些原始類型,integer,string等屬于值相等。就是說,值相等,也就equals()了。實際上,他們都改寫了object的equals()方法。但是”類型安全”的值類不需要改寫equals()。
  
  還有,當我們當前的類有特定的”相等”的定義的時候,而且我們的超類并沒有改寫equals()方法,就需要改寫equals()方法了。
  
  改寫的規范-object必須滿足:
  
  1. 自反
  2. 對稱
  3. 傳遞
  4. 一致
  5. X非空,x.equals(null)返回false
  
  為了實現高質量的equals()改寫,effective java提醒我們要注重一下幾點:
  1. 使用==操作符檢查是否指向同一個對象,這是一個性能優化的手段。
  2. 使用instanceof來檢查是否為某個類,同樣也是性能優化的手段。
  3. 把實參轉換到正確的類型,上面一步保證了這一步不會有錯誤。
  4. 檢查類里的每一個要害域是否都相等。
  
  還有要注重的就是,改寫equals()方法的同時,都要改寫hashcode方法。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黔西| 怀远县| 永平县| 盐源县| 东海县| 安化县| 万载县| 于都县| 东乌珠穆沁旗| 定日县| 罗甸县| 涞水县| 钟祥市| 成武县| 廉江市| 工布江达县| 子洲县| 甘肃省| 运城市| 景洪市| 涟源市| 两当县| 三穗县| 天津市| 南汇区| 大埔县| 江达县| 班戈县| 双江| 滨海县| 分宜县| 安仁县| 九台市| 乌兰浩特市| 略阳县| 井研县| 郯城县| 墨江| 珲春市| 宁南县| 师宗县|