<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類用來表示那些創建后就不會再改變的字符串,它是immutable的。而StringBuffer類用來表示內容可變的字符串,并提供了修改底層字符串的方法。

    ????????? 當我們進行字符拼接時,最好使用StringBuffer類而非String類,因為前者將比后者快上百倍。

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

    ????????? 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類卻要調用一個append()方法,是否實現起來更簡潔,更單純呢?其實不然,讓我們了解一下程序運行內部發生了哪些事情:

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

    ????????? 而如果直接使用StringBuffer類,程序將只產生兩個對象:最初的StringBuffer和拼接時的String("I love you so much."),也不再需要創建臨時的StringBuffer類對象而后還得將其轉換回String對象。

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

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

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


    網站導航:
     
    主站蜘蛛池模板: 久久精品免费观看| 一级毛片免费毛片毛片| 色猫咪免费人成网站在线观看 | 久久精品国产亚洲av麻豆| 一级做a爰片性色毛片免费网站| 国产片免费在线观看| 亚洲AV日韩AV无码污污网站| 午夜亚洲国产成人不卡在线| 亚洲精品av无码喷奶水糖心| 黄a大片av永久免费| 老司机午夜性生免费福利| 亚洲av再在线观看| 国产免费人成视频尤勿视频 | 久久久久亚洲av无码尤物| 大地资源网高清在线观看免费 | 日韩精品免费视频| 免费成人激情视频| 中文字幕 亚洲 有码 在线| 毛片免费观看的视频在线| 亚洲AV日韩AV一区二区三曲| 亚洲综合色在线观看亚洲| 99久久成人国产精品免费 | 日韩一品在线播放视频一品免费| 亚洲精品乱码久久久久蜜桃| 亚洲av日韩av欧v在线天堂| 成人久久免费网站| 亚洲免费二区三区| 日韩精品亚洲专区在线观看| 在线免费观看伊人三级电影| 亚洲高清中文字幕| 免费jjzz在在线播放国产| 免费无码又爽又刺激网站| 亚洲一欧洲中文字幕在线| 亚洲av手机在线观看| 日本黄色动图免费在线观看| 亚洲精品二三区伊人久久| 亚洲国模精品一区| 天天影视色香欲综合免费| 老湿机一区午夜精品免费福利| 亚洲AV永久无码区成人网站| 好男人视频在线观看免费看片|