<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類用來(lái)表示那些創(chuàng)建后就不會(huì)再改變的字符串,它是immutable的。而StringBuffer類用來(lái)表示內(nèi)容可變的字符串,并提供了修改底層字符串的方法。

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

    ????????? 的確,在程序的太多場(chǎng)合我們都會(huì)進(jìn)行字符串拼接工作,簡(jiǎ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.");

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

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

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

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

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

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲www在线观看| 亚洲欧洲日韩综合| 久久久久亚洲AV无码专区桃色| 亚洲国产综合无码一区二区二三区 | 亚洲成人动漫在线观看| 99热这里只有精品6免费| 免费看少妇作爱视频| 亚洲综合av永久无码精品一区二区| 亚洲AV无码精品蜜桃| 国产性生大片免费观看性| 日本在线高清免费爱做网站| 亚洲?v女人的天堂在线观看| 亚洲AV无码成人精品区天堂| 色欲aⅴ亚洲情无码AV蜜桃| 精品无码国产污污污免费网站国产| h视频在线观看免费完整版| 免费中文字幕一级毛片| 亚洲午夜久久久精品电影院| 中文字幕久无码免费久久| 亚洲春色在线视频| 野花视频在线官网免费1| 青青青国产在线观看免费 | 亚洲真人无码永久在线观看| 日本免费A级毛一片| 免费永久国产在线视频| 亚洲人成人网毛片在线播放| 一级毛片**不卡免费播| 中国亚洲女人69内射少妇| 免费视频一区二区| 亚洲VA中文字幕无码毛片| 1000部羞羞禁止免费观看视频 | 又大又黄又粗又爽的免费视频 | 国产福利在线观看永久免费| 永久免费av无码不卡在线观看 | 久久久久免费看黄A片APP| 亚洲午夜在线电影| 99麻豆久久久国产精品免费 | 亚洲国产国产综合一区首页| 无人在线直播免费观看| 男人扒开添女人下部免费视频| 国产精品免费看香蕉|