Huion
          事業向左...愛情向右...失去的...我會在未來期待...
          posts - 1,comments - 3,trackbacks - 0
          問題提出:看下面代碼

          public class Computer{
            
          private String cpuInfo;
            
          private String diskInfo;
            
            
          public Computer(String cpuInfo,String diskInfo){
                     
          this.cpuInfo = cpuInfo;
                 
          this.diskInfo = diskInfo;
               }

            
          public String toInfo(){
              
          return new StringBuffer("cpu:").append(cpuInfo).append("disk:").append(diskInfo).toString();
             }


          //other methods
          }


          public class Test{
            
          static public void main(String [] args){
            Computer c1 
          = new Computer("AMD-XP1800","IBM-3002");
            Computer c2 
          = new Computer("AMD-XP1800","IBM-3002");
               
          if(c1.equals(c2))
               System.
          out.println("c1==c2");
               
          else
               System.
          out.println("c1!=c2");

            }

          }


          代碼的運行結果為:c1!=c2。一開始感覺應該有點意外吧!這個例子告訴我們,不要依賴Object的默認實現,Object 提供的equals方法如下:

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


          Object 的= =運算只進行Object的引用的比較,也就是內存地址的比較!

          現在想一想,要是一開始不注意的話,那結果是多么愚蠢吧?
          posted on 2005-06-20 23:47 一輝 閱讀(201) 評論(1)  編輯  收藏 所屬分類: J2SE

          FeedBack:
          # re: J2SE基礎知識之不要依懶Object.equals();
          2006-03-22 15:25 | weibo
          這個是菜鳥都懂啦,哈哈哈哈  回復  更多評論
            

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


          網站導航:
           
          主站蜘蛛池模板: 峨眉山市| 时尚| 托克逊县| 伊吾县| 灵石县| 定边县| 大悟县| 拜泉县| 邢台县| 桐城市| 石林| 林芝县| 石柱| 邵武市| 留坝县| 舒城县| 益阳市| 仲巴县| 东辽县| 句容市| 建宁县| 沅陵县| 开封市| 自治县| 周至县| 美姑县| 丹江口市| 巴塘县| 广昌县| 海盐县| 桓台县| 友谊县| 正定县| 玉门市| 色达县| 阿巴嘎旗| 夹江县| 石楼县| 嘉祥县| 白山市| 崇阳县|