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

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

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

    隨筆 - 6  文章 - 0  trackbacks - 0
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(2)

    隨筆分類

    文章分類

    好友

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

     這是好友面試的一道題,其實我知道使用的區別,StringBuffer必須new出來,StringBuffer的append的效率比string的+=的效率高,
    其實發現還有很大的區別,看了看以前scjp的考題
    public class Test {
       public static void stringReplace (String text) {
       text = text.replace('j' , 'i');
       }
      
       public static void bufferReplace (StringBuffer text) {
       text = text.append("C");
       }
      
        public static void main (String args[]) {
        String textString = new String ("java");
        StringBuffer textBuffer = new StringBuffer ("java");
       
        stringReplace (textString);
        bufferReplace (textBuffer);
       
        System.out.println (textString + textBuffer);
        }
        }
    答案是 javajavaC
    這是Java參數傳遞(by value)造成的,是不可變的(immutable).,例如 基本類型,String傳值,復制了值傳遞過去;可變的(Object)傳值,復制了引用傳遞過去。

    而題目中第七行text = text.append (“C”),append方法會改變text中的值
    而這個text與main中的textBuffer是指向同一個對象,所以對應的輸出是javac。
    string的值永遠不會改變!


    String a = "a";//假設a指向地址0x0001,
    a = "b";//重新負值后a指向地址0x0002,但0x0001地址中保存的"a"依舊存在,但已經不再是a所指向的。
    從表面上看String類型的對象改變了值,但事實是他不能改變值,只能改變指向的地址


    StringBuffer則不同,直接改變指向的地址中保留的值
    還有
    StringBuffer s1 = new StringBuffer("a");
    StringBuffer s2 = new StringBuffer("a");
    s1.equals(s2)//為什么是false

    String s1 = new String("a");
    String s2 = new String("a");
    s1.equals(s2)//為什么是true
    StringBuffer類中沒有重新定義equals這個方法,因此這個方法就來自Object類,
    而Object類中的equals方法是用來比較地址的,所以等于false.

    String類中重新定義了equals這個方法,而且比較的是值,而不是地址。所以會是
    true。
    對于這樣能不能面試出真正的水平,感到懷疑。

    posted on 2006-03-02 13:54 badboy 閱讀(801) 評論(0)  編輯  收藏 所屬分類: Java基礎
    主站蜘蛛池模板: 久久亚洲最大成人网4438| 亚洲卡一卡2卡三卡4麻豆| 午夜成人无码福利免费视频| 日韩免费电影在线观看| 亚洲av色香蕉一区二区三区蜜桃| 成人爽A毛片免费看| 亚洲欧美中文日韩视频| 国产无遮挡吃胸膜奶免费看| 国产成人不卡亚洲精品91| 亚洲国产精品日韩专区AV| 又长又大又粗又硬3p免费视频| 亚洲欧洲日本在线| 中文字幕视频在线免费观看| 亚洲Av无码精品色午夜| 永久免费视频网站在线观看| 亚洲娇小性xxxx色| 思思re热免费精品视频66| 亚洲色无码专区一区| 免费99热在线观看| 免费无码又爽又刺激一高潮| 亚洲伊人tv综合网色| 114一级毛片免费| 日韩色日韩视频亚洲网站| 亚洲综合精品网站在线观看| 久久成人a毛片免费观看网站| 亚洲国产电影在线观看| 免费A级毛片无码A∨男男| 日本免费污片中国特一级| 亚洲午夜精品在线| 在线日韩av永久免费观看| 韩日电影在线播放免费版| 亚洲福利视频一区二区三区| 永久在线毛片免费观看| 成年网在线观看免费观看网址| 亚洲成AV人片在线观看| 日本特黄特色aa大片免费| 波多野结衣免费一区视频| 亚洲精品免费网站| 亚洲成a人片在线观看无码专区| 99re热免费精品视频观看| 亚洲精品视频免费|