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

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

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

    posts - 3,comments - 3,trackbacks - 0
                   java中有兩種相等的判斷-----“==”和“equals()方法”。大部分書上都會告訴我們,“==”是判斷兩個對象的引用是否相等,而“equals()”是判斷兩個對象是否相等。其中“==”很好理解,在此我就不再贅述了。我主要想說的是關于“equals()”,在java的Object類中“equals()”的實現如下:

      
    1    public boolean equals(Object obj) {
    2          return (this == obj);
    3    }

             我們可以看到在Object中“equals()”的實現指示簡單的使用了“==”也就是之判斷了,兩個對象的引用相等。這也就是為什么我們在使用“equals()”時必須重寫這個方法的原因了。

          在jdk的幫助文檔中,對于“equals()”和“HashCode()”有這樣的說法,如果兩個對象使用equals()返回為true,則使用HashCode()必然返回的值必然相等,反之則不一定啊。

         為什么呢?其實舉個簡單的例子,我們有很多桶,每個桶都可以放很多對象,那么HashCode()得到的值就是每個桶的編號,這樣說也許您就明白了為什么jdk會有這樣的說法了。至于為什么會有這樣的設計,學過數據結構的朋友一定知道一些查找的方法吧,其中二分法就是一種高效的查找方法吧。那么HashCode也就是個“多分法”吧。

     
                
    posted on 2008-02-08 16:05 alec的工作室 閱讀(496) 評論(0)  編輯  收藏 所屬分類: java

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


    網站導航:
     
    主站蜘蛛池模板: 日韩免费码中文在线观看| 亚洲欧洲AV无码专区| 一本一道dvd在线观看免费视频 | 亚洲一区二区观看播放| 99在线视频免费| 久久亚洲AV无码精品色午夜麻豆| 免费人成网站在线观看不卡| 亚洲AV无码成人网站久久精品大| 国产一区二区三区免费| 亚洲国产日韩一区高清在线| 99久热只有精品视频免费观看17| 久久精品国产亚洲av日韩| 欧洲一级毛片免费| 亚洲13又紧又嫩又水多| 成人免费午夜视频| 老司机午夜在线视频免费| 免费**毛片在线播放直播| 特级aa**毛片免费观看| 亚洲综合另类小说色区色噜噜| 一级毛片完整版免费播放一区| 亚洲中文字幕日产乱码高清app| 国产在线精品一区免费香蕉| 亚洲激情视频在线观看| 日韩欧毛片免费视频| 亚洲日韩中文字幕无码一区| 亚洲国产成人久久一区WWW| 久久免费99精品国产自在现线| 亚洲AV无码欧洲AV无码网站| 韩国免费一级成人毛片| 亚洲成AV人片在WWW| 77777亚洲午夜久久多人| 美女内射无套日韩免费播放| 亚洲一区二区三区精品视频| 免费播放特黄特色毛片| 免费污视频在线观看| 亚洲看片无码在线视频 | 99在线在线视频免费视频观看| 激情综合亚洲色婷婷五月APP| 免费看国产一级片| 无码AV片在线观看免费| 亚洲精品自偷自拍无码|