熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Javascript >> 正文

改寫equals的時候遵守約定

2013-11-23 17:55:05  來源: Javascript 

  在java裡面object equals()的概念是兩個引用指向的是同一個對象即兩者指向同一個對象才equals()但是也有特例比如說一些原始類型integerstring等屬於值相等就是說值相等也就equals()了實際上他們都改寫了object的equals()方法但是類型安全的值類不需要改寫equals()
  
  還有當我們當前的類有特定的相等的定義的時候而且我們的超類並沒有改寫equals()方法就需要改寫equals()方法了
  
  改寫的規范-object必須滿足
  
  . 自反
  . 對稱
  . 傳遞
  . 一致
  . X非空xequals(null)返回false
  
  為了實現高質量的equals()改寫effective java提醒我們要注意一下幾點
  . 使用==操作符檢查是否指向同一個對象這是一個性能優化的手段
  . 使用instanceof來檢查是否為某個類同樣也是性能優化的手段
  . 把實參轉換到正確的類型上面一步保證了這一步不會有錯誤
  . 檢查類裡的每一個關鍵域是否都相等
  
  還有要注意的就是改寫equals()方法的同時都要改寫hashcode方法
From:http://tw.wingwit.com/Article/program/Java/Javascript/201311/25355.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.