Huion
          事業(yè)向左...愛情向右...失去的...我會在未來期待...
          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");

            }

          }


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

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


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

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

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

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 田林县| 嵊州市| 平顺县| 平乡县| 湘阴县| 庐江县| 沧州市| 磐安县| 易门县| 观塘区| 涞水县| 四子王旗| 淮南市| 巩义市| 德化县| 呼玛县| 临漳县| 澄城县| 衡南县| 五河县| 迁西县| 噶尔县| 成都市| 肥西县| 铜川市| 永定县| 杂多县| 石首市| 鹿泉市| 沈丘县| 大埔区| 绥棱县| 博兴县| 离岛区| 凌源市| 青阳县| 扶沟县| 河池市| 南江县| 五指山市| 望谟县|