<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 閱讀(248) 評論(0)  編輯  收藏


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


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

    導航

    統計

    常用鏈接

    留言簿(4)

    隨筆分類

    相冊

    相冊

    搜索

    最新評論

    主站蜘蛛池模板: 亚洲欧美日韩中文无线码| 亚洲精品中文字幕无码AV| 亚洲亚洲人成综合网络| 国产成人亚洲综合无码精品 | 国产99视频精品免费视频7| 亚洲 国产 图片| 亚洲熟妇中文字幕五十中出| 久久精品国产亚洲夜色AV网站| 亚洲经典在线中文字幕| 亚洲乱码日产精品一二三| 日本亚洲高清乱码中文在线观看| 国产免费高清69式视频在线观看 | a毛片成人免费全部播放| 可以免费观看的国产视频| 99久久久精品免费观看国产| 日本黄色免费观看| 中文字幕亚洲无线码a| 亚洲理论片在线中文字幕| 国产亚洲欧美在线观看| 国精产品一区一区三区免费视频| 97在线观看永久免费视频| 国产又大又黑又粗免费视频| 亚洲欧洲∨国产一区二区三区| 亚洲国产成+人+综合| 四虎成人精品国产永久免费无码| 先锋影音资源片午夜在线观看视频免费播放| 亚洲av无码日韩av无码网站冲 | 亚洲av无一区二区三区| 国产一级一毛免费黄片| 91成人免费观看网站| 亚洲日韩VA无码中文字幕| 亚洲激情校园春色| 色吊丝性永久免费看码| 亚洲国产精品免费视频| 四虎永久免费网站免费观看| 亚洲男人第一av网站| 综合偷自拍亚洲乱中文字幕| 久久午夜夜伦鲁鲁片免费无码| 成年女人永久免费观看片| 亚洲精品人成在线观看| 美女扒开屁股让男人桶爽免费|