<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    hashCode 方法實現規則

    1、把某個非零常數值,比如說17,保存在一個叫result 的int 類型的變量值中。

    2、對于對象中的每一個關鍵域f (指equals 方法中考慮的每一個域),完成以下步驟:

    • 為該域計算int 類型的散列碼c:
      • 如果該域是boolean 類型,則計算(f ? 1 : 0);
      • 如果該域是byte、char、short 或者int 類型,則計算(int)f;
      • 如果該域是long 類型,則計算(int)(f ^ (f >>> 32));
      • 如果該域是float 類型,則計算Float.floatToIntBits(f);
      • 如果該域是double 類型,則計算Double.doubleToLongBits(f) 得到一個long 類型的值,然后按照步驟2.a.iii 對該long 類型計算散列值;
      • 如 果該域是一個對象引用,并且該類的equals 方法通過遞歸調用equals 的方式來比較這個域,則同樣對這個域遞歸調用hashCode 方法;如果要求一個更為復雜的比較,則為這個域計算一個“規范表示”,然后針對這個規范表示調用hashCode。如果這個域的值為null,則返回0;
      • 如果該域是一個數組,則把每一個元素當做單獨的域來處理。然后根據步驟2.b 中的做法把這些散列值組合起來。

    • 按照下面的公式,把步驟a 中計算得到的散列碼c 組合到result 中:
      result = 37 * result + c;

    3、返回result 值。

    注:根據實踐經驗,在對ASCII 串的散列函數中,31 和37 是很好的散列因子。

    posted on 2006-09-13 18:33 JRobot 閱讀(280) 評論(0)  編輯  收藏 所屬分類: java_基礎

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 久久WWW免费人成一看片| 99精品视频在线观看免费专区| 综合在线免费视频| 亚洲网址在线观看| 亚洲视频在线免费播放| 亚洲妇女水蜜桃av网网站| 18成禁人视频免费网站| 亚洲第一成年网站大全亚洲| 成人免费黄色网址| 亚洲午夜无码久久久久小说| 四虎www成人影院免费观看| 亚洲欧美日本韩国| 亚洲av片一区二区三区| 一级特黄aaa大片免费看| 国产成人综合亚洲AV第一页 | 亚洲精品色播一区二区| 国产精品国产免费无码专区不卡 | 国产成人免费片在线观看 | v片免费在线观看| 亚洲深深色噜噜狠狠爱网站| 久爱免费观看在线网站| 亚洲色大成网站www永久| 国产无人区码卡二卡三卡免费| 色欲aⅴ亚洲情无码AV蜜桃| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 美女啪啪网站又黄又免费| 在线观看亚洲精品国产| 最好看最新的中文字幕免费| 亚洲精品无码久久久久牙蜜区| 亚洲国产综合无码一区二区二三区| 毛片免费在线观看| 亚洲色少妇熟女11p| 综合久久久久久中文字幕亚洲国产国产综合一区首| 91免费在线视频| 亚洲一区二区三区亚瑟| 四虎1515hm免费国产| 久久久免费的精品| 亚洲人成未满十八禁网站| 亚洲精品乱码久久久久久自慰| 18禁美女裸体免费网站| 国产偷国产偷亚洲高清人|