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

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

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

    posts - 495,  comments - 11,  trackbacks - 0

    ????????? String類用來表示那些創(chuàng)建后就不會再改變的字符串,它是immutable的。而StringBuffer類用來表示內(nèi)容可變的字符串,并提供了修改底層字符串的方法。

    ????????? 當(dāng)我們進(jìn)行字符拼接時,最好使用StringBuffer類而非String類,因?yàn)榍罢邔⒈群笳呖焐习俦丁?/p>

    ????????? 的確,在程序的太多場合我們都會進(jìn)行字符串拼接工作,簡單的代碼示例如下:

    ????????? String str="You are nice.";
    ????????? str+="I love you so much.";

    ????????? 如果用StringBuffer類的話,代碼如下:

    ????????? StringBuffer str= new StringBuffer("You are nice.");
    ????????? str.append("I love you so much.");

    ????????? 從表面看來String類只用一個加號(+)便完成了字符串的拼接,而StringBuffer類卻要調(diào)用一個append()方法,是否實(shí)現(xiàn)起來更簡潔,更單純呢?其實(shí)不然,讓我們了解一下程序運(yùn)行內(nèi)部發(fā)生了哪些事情:

    ????????? 經(jīng)編譯后程序的bytecode(字節(jié)碼)展示出了實(shí)質(zhì): 在用String類對象直接拼接時,JVM會創(chuàng)建一個臨時的StringBuffer類對象,并調(diào)用其append()方法完成字符串的拼接,這是因?yàn)镾tring類是不可變的,拼接操作不得不使用StringBuffer類(并且--JVM會將"You are nice."和"I love you so much."創(chuàng)建為兩個新的String對象)。之后,再將這個臨時StringBuffer對象轉(zhuǎn)型為一個String,代價不菲!可見,在這一個簡單的一次拼接過程中,我們讓程序創(chuàng)建了四個對象:兩個待拼接的String,一個臨時StringBuffer,和最后將StringBuffer轉(zhuǎn)型成為的String--它當(dāng)然不是最初的str了,這個引用的名稱沒變,但它指向了新的String對象。

    ????????? 而如果直接使用StringBuffer類,程序?qū)⒅划a(chǎn)生兩個對象:最初的StringBuffer和拼接時的String("I love you so much."),也不再需要創(chuàng)建臨時的StringBuffer類對象而后還得將其轉(zhuǎn)換回String對象。

    ????????? 可以想象,當(dāng)我們的字符串要被循環(huán)拼接若干段時,用String類直接操作會帶來多少額外的系統(tǒng)開銷,生成多少無用的臨時StringBuffer對象,并處理多少次無謂的強(qiáng)制類型轉(zhuǎn)換哪。

    posted on 2007-05-04 15:25 jadmin 閱讀(96) 評論(0)  編輯  收藏

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 中文字幕在线免费看| 人妻无码中文字幕免费视频蜜桃 | 亚洲成av人无码亚洲成av人| 最好看的中文字幕2019免费| 亚洲色欲www综合网| 24小时日本韩国高清免费| 国产精品亚洲精品日韩电影| 在线不卡免费视频| 国产精品亚洲精品爽爽| 亚洲中文无韩国r级电影| 黄色短视频免费看| 亚洲阿v天堂在线| 91福利免费视频| 亚洲人成图片网站| 国产v片免费播放| 亚洲三级视频在线| 免费观看理论片毛片| 特级av毛片免费观看| 皇色在线视频免费网站| 最新亚洲精品国偷自产在线| 国产美女无遮挡免费视频网站| 日韩毛片免费一二三| 亚洲午夜久久影院| 免费无码一区二区三区蜜桃大| 五月天国产成人AV免费观看| 成人免费无码大片a毛片软件| 亚洲第一极品精品无码久久| 精品久久8x国产免费观看| 亚洲av无码专区亚洲av不卡| 亚洲综合久久夜AV | 99久久人妻精品免费二区| 亚洲日韩一区二区三区| 伊人久久大香线蕉亚洲| 国产电影午夜成年免费视频| 日韩亚洲人成在线综合| 婷婷精品国产亚洲AV麻豆不片 | a级精品九九九大片免费看| 亚洲女人影院想要爱| 亚洲国产精品无码久久久久久曰| 三年片在线观看免费观看大全动漫| 亚洲熟妇成人精品一区|