工作小驛

          Ninja!

          BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
            103 Posts :: 0 Stories :: 36 Comments :: 0 Trackbacks

          這也是個比較重要的東西,因為String字符串的應(yīng)用范圍很廣。但是有些時候使用StringBuffer更好一些。有些時候還不能用String。到了jdk5的時候,又補(bǔ)充了個東西StringBuilder。我們來看看他們的區(qū)別。

          String 的長度是不可變的,StringBuffer的長度是可變的。如果對字符串中的長度經(jīng)常進(jìn)行操作,特別是內(nèi)容要修改時,使用StringBuffer,如果最后需要String,那么使用StringBuffertoString()方法。

          當(dāng)我們進(jìn)行字符拼接時,請使用StringBufferStringBuilder類而非String類,因為前者將比后者性能高的多,在java語言的優(yōu)化編程里面,這是一條比較重要的。

          在使用String 的時候,拼接字符串時使用“+”這個東西在JVM上形成臨時的StringBuffer對象,同時在每一個字符串上都建立一個對象,拼接了兩個字符串居然創(chuàng)建了4個對象。(一個String,兩個字符串,一個臨時的StringBuffer)。

          如果使用StringBuffer就好多了,它可以只需創(chuàng)建兩個對象就可以了,一個StringBuffer和最后的String

          StringBuilder是在jdk5中添加的一個類,它與StringBuffer功能一樣。但是它不是線程安全的,就是說它不支持多線程。如果在不需要多線程的時候,使用StringBuilderStringBuffer還要塊的多。不支持線程同步當(dāng)然要快了。

          posted on 2007-08-10 16:57 王君 閱讀(328) 評論(1)  編輯  收藏 所屬分類: J2SE

          Feedback

          # re: 全新java初學(xué)者實踐附加教程2--String,StringBuffer和StringBuilde 2007-08-12 17:15 dreamstone
          其實不是線程安全的類不一定不能使用在多線程的環(huán)境中,可以自己實現(xiàn)同步。  回復(fù)  更多評論
            

          主站蜘蛛池模板: 望谟县| 腾冲县| 古交市| 北宁市| 古田县| 思茅市| 搜索| 乾安县| 新余市| 乳山市| 虞城县| 宁国市| 西丰县| 镇宁| 盐源县| 临澧县| 广德县| 吴旗县| 星子县| 策勒县| 聊城市| 泾源县| 沂水县| 萨迦县| 抚顺县| 鹰潭市| 广汉市| 临洮县| 延寿县| 庄浪县| 昔阳县| 新建县| 云梦县| 临颍县| 攀枝花市| 嘉峪关市| 昔阳县| 巴林右旗| 蒙城县| 富裕县| 格尔木市|