工作小驛

          Ninja!

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

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

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

          當(dāng)我們進(jìn)行字符拼接時(shí),請(qǐng)使用StringBufferStringBuilder類(lèi)而非String類(lèi),因?yàn)榍罢邔⒈群笳咝阅芨叩亩啵?/span>java語(yǔ)言的優(yōu)化編程里面,這是一條比較重要的。

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

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

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

          posted on 2007-08-10 16:57 王君 閱讀(331) 評(píng)論(1)  編輯  收藏 所屬分類(lèi): J2SE

          Feedback

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

          主站蜘蛛池模板: 黄浦区| 林芝县| 原阳县| 杂多县| 余姚市| 安泽县| 德庆县| 秦安县| 江西省| 双桥区| 德江县| 西畴县| 芦山县| 巫溪县| 南江县| 兴业县| 桐城市| 长岛县| 二连浩特市| 藁城市| 申扎县| 全椒县| 辉县市| 莎车县| 固始县| 广平县| 湛江市| 宁都县| 镇坪县| 溧阳市| 搜索| 莱芜市| 庆城县| 浙江省| 漯河市| 甘孜县| 华宁县| 吉木乃县| 菏泽市| 晴隆县| 开远市|