<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)

    隨筆分類(lèi)

    文章分類(lèi)

    好友

    搜索

    •  

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

     這是好友面試的一道題,其實(shí)我知道使用的區(qū)別,StringBuffer必須new出來(lái),StringBuffer的append的效率比string的+=的效率高,
    其實(shí)發(fā)現(xiàn)還有很大的區(qū)別,看了看以前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參數(shù)傳遞(by value)造成的,是不可變的(immutable).,例如 基本類(lèi)型,String傳值,復(fù)制了值傳遞過(guò)去;可變的(Object)傳值,復(fù)制了引用傳遞過(guò)去。

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


    String a = "a";//假設(shè)a指向地址0x0001,
    a = "b";//重新負(fù)值后a指向地址0x0002,但0x0001地址中保存的"a"依舊存在,但已經(jīng)不再是a所指向的。
    從表面上看String類(lèi)型的對(duì)象改變了值,但事實(shí)是他不能改變值,只能改變指向的地址


    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類(lèi)中沒(méi)有重新定義equals這個(gè)方法,因此這個(gè)方法就來(lái)自O(shè)bject類(lèi),
    而Object類(lèi)中的equals方法是用來(lái)比較地址的,所以等于false.

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

    posted on 2006-03-02 13:54 badboy 閱讀(802) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): Java基礎(chǔ)

    只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 国产成人亚洲精品播放器下载| 1000部禁片黄的免费看| 亚洲综合国产成人丁香五月激情| 精品亚洲永久免费精品| 免费精品国产自产拍在线观看| 337P日本欧洲亚洲大胆精品| 91亚洲精品第一综合不卡播放| 亚洲人成电影网站久久| 91免费资源网站入口| 亚洲线精品一区二区三区 | 亚洲爆乳无码精品AAA片蜜桃| 亚洲乱码中文字幕在线| 猫咪社区免费资源在线观看| 亚洲kkk4444在线观看| 日韩免费高清视频网站| 高潮毛片无遮挡高清免费| 亚洲日本韩国在线| 久操视频在线免费观看| 区三区激情福利综合中文字幕在线一区亚洲视频1 | AAAAA级少妇高潮大片免费看| 曰皮全部过程视频免费国产30分钟 | 亚洲AV成人噜噜无码网站| 久久精品网站免费观看| 在线观看国产一区亚洲bd| 亚洲国产一级在线观看| 亚洲国产日韩综合久久精品| 午夜视频在线免费观看| 亚洲xxxxxx| 亚洲男人在线无码视频| 久久无码av亚洲精品色午夜| 国产四虎免费精品视频| 免费无码A片一区二三区 | 亚洲福利精品一区二区三区| 热久久这里是精品6免费观看| 免费一级肉体全黄毛片| 丁香婷婷亚洲六月综合色| 久久中文字幕免费视频| 亚洲人成欧美中文字幕| 日韩免费a级毛片无码a∨| 亚洲人成在线精品| 亚洲精品在线视频|