java隨記: StringBuffer和StringBuilder類(lèi)

  • 當(dāng)對(duì)字符串進(jìn)行修改的時(shí)候,需要使用StringBuffer和StringBuilder類(lèi)茄厘。
  • 和String類(lèi)不同的是,StringBuffer和StringBuilder類(lèi)的對(duì)象能夠被多次的修改徒恋,并且不產(chǎn)生新的未使用對(duì)象蚕断。
  • StringBuilder類(lèi)在Java 5中被提出,它和StringBuffer之間的最大不同在于StringBuilder的方法不是線程安全的(不能同步訪問(wèn))入挣。
  • 由于StringBuilder相較于StringBuffer有速度優(yōu)勢(shì),所以多數(shù)情況下建議使用StringBuilder類(lèi)硝拧。然而在應(yīng)用程序要求線程安全的情況下径筏,則必須使用StringBuffer類(lèi)。

StringBuffer 方法

1.public StringBuffer append(String s)
將指定的字符串追加到此字符序列障陶。

StringBuffer buffer = new StringBuffer();
buffer.append("goods");   //拼接字符串
System.out.println(buffer);

2.public StringBuffer reverse()
將此字符序列用其反轉(zhuǎn)形式取代滋恬。

StringBuffer buffer = new StringBuffer();
buffer.reverse();  //將此字符序列用其反轉(zhuǎn)形式取代。
System.out.println(buffer);

3.public delete(int start, int end)
移除此序列的子字符串中的字符抱究。

StringBuffer buffer = new StringBuffer();
buffer.delete(0,2);   //刪除指定區(qū)間的字符.注:第一位是開(kāi)始位的索引,第二位是刪除字符的數(shù)量
System.out.println(buffer);

4.public insert(int offset, int i)
將 int 參數(shù)的字符串表示形式插入此序列中

StringBuffer buffer = new StringBuffer();
buffer.insert(0,"go");   //在指定區(qū)間插入字符System.out.println(buffer);

5.replace(int start, int end, String str)
使用給定 String 中的字符替換此序列的子字符串中的字符恢氯。

StringBuffer buffer = new StringBuffer();
buffer.replace(0,3,"Hello");  //替代指定區(qū)間的字符
System.out.println(buffer);

6.int capacity()
返回當(dāng)前容量。

StringBuffer buffer = new StringBuffer();
int i = buffer.capacity(); //獲取字符串的長(zhǎng)度
System.out.println(i);

7.char charAt(int index)
返回此序列中指定索引處的 char 值鼓寺。

StringBuffer buffer = new StringBuffer("Hello");
char c = buffer.charAt(0);  //獲取字符串索引值是所在的字符
System.out.println(c);

8.void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
將字符從此序列復(fù)制到目標(biāo)字符數(shù)組 dst勋拟。

char [] charArr = new char[10];
StringBuffer buffer = new StringBuffer("Hello");
buffer.getChars(0,3, charArr,0); //將指定區(qū)間字符加入到數(shù)組中
System.out.println(charArr);

9.int indexOf(String str)
返回第一次出現(xiàn)的指定子字符串在該字符串中的索引。

StringBuffer buffer = new StringBuffer("Hello");
int i = buffer.indexOf("l");  //第一次出現(xiàn)的指定子字符串在該字符串中的索引
System.out.println(i);
i = buffer.indexOf("l",3);   //從指定的索引處開(kāi)始妈候,返回第一次出現(xiàn)的指定子字符串在該字符串中的索引敢靡。
System.out.println(i);
i = buffer.lastIndexOf("l");  //返回最右邊出現(xiàn)的指定子字符串在此字符串中的索引。
System.out.println(i);
i = buffer.lastIndexOf("l", buffer.length());  //返回最后一次出現(xiàn)的指定子字符串在此字符串中的索引苦银。
System.out.println(i);

10.void setCharAt(int index, char ch)
將給定索引處的字符設(shè)置為 ch啸胧。

StringBuffer buffer = new StringBuffer("Hello");
buffer.setCharAt(3,'o');
System.out.println(buffer);
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市幔虏,隨后出現(xiàn)的幾起案子纺念,更是在濱河造成了極大的恐慌,老刑警劉巖想括,帶你破解...
    沈念sama閱讀 219,427評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件陷谱,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡主胧,警方通過(guò)查閱死者的電腦和手機(jī)叭首,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)习勤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人焙格,你說(shuō)我怎么就攤上這事图毕。” “怎么了眷唉?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,747評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵予颤,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我冬阳,道長(zhǎng)蛤虐,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,939評(píng)論 1 295
  • 正文 為了忘掉前任肝陪,我火速辦了婚禮驳庭,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘氯窍。我一直安慰自己饲常,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布狼讨。 她就那樣靜靜地躺著贝淤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪政供。 梳的紋絲不亂的頭發(fā)上播聪,一...
    開(kāi)封第一講書(shū)人閱讀 51,737評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音布隔,去河邊找鬼离陶。 笑死,一個(gè)胖子當(dāng)著我的面吹牛执泰,可吹牛的內(nèi)容都是我干的枕磁。 我是一名探鬼主播,決...
    沈念sama閱讀 40,448評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼术吝,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼计济!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起排苍,我...
    開(kāi)封第一講書(shū)人閱讀 39,352評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤沦寂,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后淘衙,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體传藏,經(jīng)...
    沈念sama閱讀 45,834評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了毯侦。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片哭靖。...
    茶點(diǎn)故事閱讀 40,133評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖侈离,靈堂內(nèi)的尸體忽然破棺而出试幽,到底是詐尸還是另有隱情,我是刑警寧澤卦碾,帶...
    沈念sama閱讀 35,815評(píng)論 5 346
  • 正文 年R本政府宣布铺坞,位于F島的核電站,受9級(jí)特大地震影響洲胖,放射性物質(zhì)發(fā)生泄漏济榨。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評(píng)論 3 331
  • 文/蒙蒙 一绿映、第九天 我趴在偏房一處隱蔽的房頂上張望擒滑。 院中可真熱鬧,春花似錦叉弦、人聲如沸橘忱。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,022評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至颖御,卻和暖如春榄棵,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背潘拱。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,147評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工疹鳄, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人芦岂。 一個(gè)月前我還...
    沈念sama閱讀 48,398評(píng)論 3 373
  • 正文 我出身青樓瘪弓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親禽最。 傳聞我的和親對(duì)象是個(gè)殘疾皇子腺怯,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類(lèi)相關(guān)的語(yǔ)法川无,內(nèi)部類(lèi)的語(yǔ)法呛占,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法懦趋,線程的語(yǔ)...
    子非魚(yú)_t_閱讀 31,644評(píng)論 18 399
  • [TOC] StringBuffer類(lèi) StringBuffer類(lèi)概述及其構(gòu)造方法 StringBuffer類(lèi)概述...
    lutianfei閱讀 466評(píng)論 0 1
  • Java 語(yǔ)言支持的類(lèi)型分為兩類(lèi):基本類(lèi)型和引用類(lèi)型晾虑。整型(byte 1, short 2, int 4, lon...
    xiaogmail閱讀 1,349評(píng)論 0 10
  • java中String的常用方法 1、length()字符串的長(zhǎng)度 例:char chars[]={'a','b'...
    赤赤有名閱讀 2,054評(píng)論 0 10
  • 文/劉琪的商業(yè)觀察(liuqi-guancha) 最近糙捺,海爾宣布了一項(xiàng)更換品牌卡通形象的計(jì)劃,名為“大畫(huà)海爾兄弟”...
    劉琪的商業(yè)觀察閱讀 918評(píng)論 0 6