同桌上课用手指进去了好爽_欧美丰满熟妇xxⅹⅹ性大i_成人av天天日天天拍拍_猛男gay帅男gay男男同志_欧美va天堂在线观看_人妻无码av中文系列三里桃花_亚欧免费无码在线观看_久久久精品国产亚洲av水_日韩在线免费看污污污_2021无码专区人妻系列日韩

首頁(yè) 優(yōu)化推廣 StringBuffer的用法

StringBuffer的用法

來(lái)源: | 時(shí)間:2013/11/22 16:53:14 |

StringBuffer類(lèi)和String一樣,也用來(lái)代表字符串,只是由于StringBuffer的內(nèi)部實(shí)現(xiàn)方式和String不同,所以StringBuffer在進(jìn)行字符串處理時(shí),不生成新的對(duì)象,在內(nèi)存使用上要優(yōu)于String類(lèi)。

  所以在實(shí)際使用時(shí),如果經(jīng)常需要對(duì)一個(gè)字符串進(jìn)行修改,例如插入、刪除等操作,使用StringBuffer要更加適合一些。

StringBuffer類(lèi)中存在很多和String類(lèi)一樣的方法,這些方法在功能上和String類(lèi)中的功能是完全一樣的。

但是有一個(gè)最顯著的區(qū)別在于,對(duì)于StringBuffer對(duì)象的每次修改都會(huì)改變對(duì)象自身,這點(diǎn)是和String類(lèi)最大的區(qū)別。

另外由于StringBuffer是線程安全的,關(guān)于線程的概念后續(xù)有專(zhuān)門(mén)的章節(jié)進(jìn)行介紹,所以在多線程程序中也可以很方便的進(jìn)行使用,但是程序的執(zhí)行效率相對(duì)來(lái)說(shuō)就要稍微慢一些。

1StringBuffer對(duì)象的初始化

StringBuffer對(duì)象的初始化不像String類(lèi)的初始化一樣,Java提供的有特殊的語(yǔ)法,而通常情況下一般使用構(gòu)造方法進(jìn)行初始化。

例如:

StringBuffer s = new StringBuffer();

這樣初始化出的StringBuffer對(duì)象是一個(gè)空的對(duì)象。

如果需要?jiǎng)?chuàng)建帶有內(nèi)容的StringBuffer對(duì)象,則可以使用:

         StringBuffer s = new StringBuffer(“abc”);

這樣初始化出的StringBuffer對(duì)象的內(nèi)容就是字符串”abc”。

需要注意的是,StringBufferString屬于不同的類(lèi)型,也不能直接進(jìn)行強(qiáng)制類(lèi)型轉(zhuǎn)換,下面的代碼都是錯(cuò)誤的:

         StringBuffer s = “abc”;               //賦值類(lèi)型不匹配

         StringBuffer s = (StringBuffer)”abc”;    //不存在繼承關(guān)系,無(wú)法進(jìn)行強(qiáng)轉(zhuǎn)

StringBuffer對(duì)象和String對(duì)象之間的互轉(zhuǎn)的代碼如下:

         String s = “abc”;

         StringBuffer sb1 = new StringBuffer(“123”);

         StringBuffer sb2 = new StringBuffer(s);   //String轉(zhuǎn)換為StringBuffer

         String s1 = sb1.toString();              //StringBuffer轉(zhuǎn)換為String

         2、StringBuffer的常用方法

StringBuffer類(lèi)中的方法主要偏重于對(duì)于字符串的變化,例如追加、插入和刪除等,這個(gè)也是StringBufferString類(lèi)的主要區(qū)別。

a、append方法

         public StringBuffer append(boolean b)

該方法的作用是追加內(nèi)容到當(dāng)前StringBuffer對(duì)象的末尾,類(lèi)似于字符串的連接。調(diào)用該方法以后,StringBuffer對(duì)象的內(nèi)容也發(fā)生改變,例如:

                  StringBuffer sb = new StringBuffer(“abc”);

                   sb.append(true);

         則對(duì)象sb的值將變成”abctrue”。

使用該方法進(jìn)行字符串的連接,將比String更加節(jié)約內(nèi)容,例如應(yīng)用于數(shù)據(jù)庫(kù)SQL語(yǔ)句的連接,例如:

                   StringBuffer sb = new StringBuffer();

                   String user = “test”;

                   String pwd = “123”;

                   sb.append(“Select × from userInfo where username=“)

                &

服務(wù)熱線

153 8323 9821

功能和特性

價(jià)格和優(yōu)惠

網(wǎng)站和維護(hù)

推廣和優(yōu)化

微信服務(wù)號(hào)