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

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

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

    關于.hashcode()和equals()的問題

                 今天看代碼的時候忽然發現有些類會重寫equals方法和hashcode方法以及相應的toString方法,對于我來說完全不明

    白為什么要這么做,我查了下資料,終于找到了原因!

                equals是Object類就有的方法是用來檢測一個對象是否等于另外一個對象,在Object類中,這個方法將判斷兩個對象

    是否具有相同的引用。對于需要檢測兩個對象狀態的時候,那么就要重新去實現一下這個方法了。比如說2個雇員對象如果

    ID相同,那么他們肯定是相同的。那么我僅僅只需要判斷ID就好了,那么我就重寫咯,o(∩_∩)o。

                而且JAVA語言規范對equals方法還具有一下特性:

                1.自反性:對于任何非空引用x,x.equals(x)應該返回true;

                2.對稱性:對于任何引用x,y,如果x.equals(y)返回true,那么y.equals(x)也應該返回同樣的結果;

                3.傳遞性:對于任何引用x,y和z,如果x.equals(y)返回true,y.equals(z)返回true,那么x.equals(z)也應該返回true;

                4.一致性:如果x和y引用的對象沒有發生變化,那么反復調用x.equals(y)應該返回同樣的結果。

                5.對于任意非空引用x,x.equals(null)應該返回true.

                然后有一系列的對比方式來解決繼承和超類的比較

               接下來就是關于hashcode了對于每一個對象來說都有它相對應唯一的hashcode,也叫做散列碼,它也作為對象在內存當

    中的存儲地址。那么你override了equals方法,你也應該override掉hashcode方法,以便用戶可以將對象插入到散列表中

    (hashmap).

                  歡迎喜歡旅游的朋友來這里參觀 

             


    posted on 2008-04-17 23:22 Cloud kensin 閱讀(243) 評論(0)  編輯  收藏


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


    網站導航:
     
    <2008年4月>
    303112345
    6789101112
    13141516171819
    20212223242526
    27282930123
    45678910

    導航

    統計

    常用鏈接

    留言簿(4)

    隨筆分類

    相冊

    相冊

    搜索

    最新評論

    主站蜘蛛池模板: 天堂亚洲免费视频| 亚洲专区一路线二| 国产亚洲视频在线播放| 亚洲av无码乱码在线观看野外| 国产成人毛片亚洲精品| 久久久久亚洲AV无码永不| 亚洲毛片在线观看| 91丁香亚洲综合社区| 春意影院午夜爽爽爽免费| 免费一级毛片在线播放| 亚洲色大成网站www永久一区| 亚洲手机中文字幕| 一个人看的www在线免费视频| 蜜臀98精品国产免费观看| 免费高清在线爱做视频| 亚洲无码在线播放| 国产三级在线免费| 国产片免费在线观看| 91久久亚洲国产成人精品性色 | 福利免费在线观看| 性xxxxx免费视频播放| 亚洲无线一二三四区手机| 中文字幕的电影免费网站| 国产亚洲A∨片在线观看| 亚洲AV网一区二区三区 | avtt天堂网手机版亚洲| 精品国产免费观看久久久| 日本永久免费a∨在线视频| 我想看一级毛片免费的| 久久99国产亚洲精品观看| 窝窝影视午夜看片免费| 亚洲av中文无码乱人伦在线咪咕| 一区二区三区在线观看免费| 亚洲av一综合av一区| 黄瓜视频高清在线看免费下载| 亚洲成人免费电影| 免费人成视网站在线观看不卡| 日本卡1卡2卡三卡免费| 亚洲精品无码精品mV在线观看| 1000部夫妻午夜免费| 一级毛片在线播放免费|