漁人碼頭

          天行健,君子以自強不息。地勢坤,君子以厚德載物。
          posts - 12, comments - 16, trackbacks - 0, articles - 43
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          String 與 char[] 的問題

          Posted on 2007-02-13 16:53 Fisher 閱讀(455) 評論(1)  編輯  收藏 所屬分類: Java 學習筆記
          面試的時候遇到這樣一個問題
          package?com.fisher.string;

          public?class?TestStringChange?{

          ????
          public?void?change(String?a,?char[]?b)?{
          ????????a?
          =?"Jennfier";
          ????????b[
          0]?=?'F';
          ????}

          ????
          public?static?void?main(String[]?args)?{
          ????????TestStringChange?test?
          =?new?TestStringChange();

          ????????String?a?
          =?"Fisher";
          ????????
          char[]?b?=?{?'f',?'i',?'s',?'h'?};

          ????????test.change(a,?b);
          ????????System.out.println(a);
          ????????System.out.println(b);
          ????}
          }

          這個是比較容易迷惑的問題。

          String 是對象,傳引用調(diào)用后,穿過方法change 里去的a 是一份指向"Fisher"對象的指針,當? 在change里面改變后,指向別的對象“Jennfier"后,在原來的main 方法里不受影響,改變的不是"Fisher"對象,而是改變該方法的指針a 的指向

          但是char[] 數(shù)組就會改變了,因為在change? 方法里改變的是char[] 數(shù)組的內(nèi)容

          答案是

          Fisher
          Fish


          評論

          # re: String 與 char[] 的問題[未登錄]  回復(fù)  更多評論   

          2009-10-17 10:22 by alex
          不對
          主站蜘蛛池模板: 洛浦县| 车险| 方正县| 衡南县| 喀喇沁旗| 汝州市| 黔西| 孝义市| 绥芬河市| 长宁县| 西平县| 陆川县| 炉霍县| 凯里市| 林州市| 永和县| 鱼台县| 达拉特旗| 通道| 连平县| 石楼县| 嘉祥县| 襄汾县| 信丰县| 抚宁县| 睢宁县| 灵台县| 大洼县| 清远市| 江油市| 安康市| 广平县| 专栏| 昆山市| 太谷县| 宁城县| 中西区| 介休市| 延长县| 临潭县| 若尔盖县|