可變字符串StringBuffer類的常用方法

2024年2月6日 24点热度 0人点赞

可變字符串StringBuffer類的常用方法

創建 StringBuffer類

創建一個新的 StringBuffer對象必須用 new 方法,而不能像String 對象那樣直接引用字符串常量。

StringBuffer sbf = new StringBuffer(); // 創建一個對象, 無初始值

StringBuffer sbf = new StringBuffer("abcd"); // 創建一個對象, 初始值為“abcd”

StringBuffer sbf = new StringBuffer(32); // 創建一個對象, 初始容量為 32個字符。

append()方法

將參數轉換成字符串, 將所得字符串中的字符追加到此序列中未尾。

sbf. append(obj);

sbf: 任意 StringBuffer對象。

obj: 任意數據類型的對象, 例如String、int、double、Boolean等, 都要轉變成字符串的表示形式追加。

創建 StringBuffer對象, 使用append()追加字符序列。

public class StringBufferAppend {

public static void main(String[] args) {

StringBuffer sbf = new StringBuffer("門前大橋下,"); // 創建 StringBuffer對象

sbf. append("遊過一群鴨,"); // 追加字符串常量

StringBuffer tmp = new StringBuffer("快來快來數一數,"); // 追加StringBuffer對象

sbf. append(tmp);

int x = 24678;

sbf. append(x); // 追加整型變量

System. out. println(sbf. toString());// 輸出

}

}

運行結果:

門前大橋下,遊過一群鴨,快來快來數一數,24678

setCharAt(int index, char ch)方法

將給定索引處的字符修改為 ch。

sbf. setCharAt(index, ch);

sbf: 任意 StringBuffer對象。

index: 被替換字符的索引。

ch: 替換後的字符。

創建一個 StringBuffer 對象, 將索引為 3 的字符修改成'A'。

public class StringBufferSetCharAt {

public static void main(String[] args) {

StringBuffer sbf = new StringBuffer("0123456");

System. out. println("sbf的原值是: " sbf);

sbf. setCharAt(3, 'A'); // 將索引為3 的字符改成‘A’

System. out. println("修改後的值是: " sbf);

運行結果:

sbf的原值是: 0123456

修改後的值是: 012A456

insert(int offset, String str)方法

將字符串插入此字符序列中。

sbf. insert(offset, str);

sbf: 任意StringBuffer對象。

offset: 插入的索引。

str: 插入的字符串。

使用StringBuffer將字符串“古詩春曉”修改成“春眠不覺曉”。

子字符串從指定的開始處start並延伸到索引end - 1處的字符end - 1或如果不存在此類字符則延伸到序列的結尾。 首先刪除子字符串中的字符,然後在start處插入指定的String。

public class StringBufferChange {

public static void main(String[] args) {

StringBuffer sbf= new StringBuffer("古詩春曉");

sbf=sbf.replace(0,5,"春眠不覺曉");//將從0開始到5的字符串替換為“春眠不覺曉”

}

}

創建一個 StringBuffer 對象,在索引為 5 的位置插入字符串“A”。

public class StringBufferInsert {

public static void main(String[] args) {

StringBuffer sbf= new StringBuffer("012345");

System. out. println("sbf的原值為: " sbf);

sbf = sbf. insert(5, "A"); //在索引為 5 的位置插入“A”, 將返回值賦給sbf 自己

System. out. println("修改之後的值為: " sbf);

運行結果:

sbf的原值為: 012345

修改之後的值為: 01234A5

reverse()方法

該方法可以將字符串反序輸出。

sbf. reverse();

其中, sbf表示任意StringBuffer對象。

創建一個 StringBuffer對象,將其字符序列反序輸出。

public class StringBufferReverse {

public static void main(String[] args) {

StringBuffer sbf = new StringBuffer("同一個世界");

System. out. println("sbf的原值為: " sbf);

sbf = sbf. reverse();// 將字符序列 sbf反轉

System. out. println("修改之後的值為: " sbf);

運行結果:

sbf的原值為: 同一個世界

修改之後的值為: 界世個一同

delete(int start, int end)方法

移除此序列的子字符串中的字符。該子字符串是從指定的索引start處開始,一直到索引end- 1處, 如果end-1 超出最大索引范圍,則一直到序列尾部。如果 start 等於end, 則不發生任何更改。

sbf. delete(start, end)

sbf: 任意 StringBuffer 對象。

start: 起始索引(包含)。

end: 結束索引(不包含)。

創建一個 StringBuffer對象,刪除從索引4 開始至索引6 之前的內容。含頭不含尾

public class StringBufferDelete {

public static void main(String[] args) {

StringBuffer sbf = new StringBuffer("天行健, 君子以自強不息");

System. out. println("sbf的原值為: " sbf);

sbf = sbf. delete(4, 6); //刪除從索引4 開始至索引6之前的內容

System. out. println("刪除之後的值為: " sbf);

}

運行結果:

sbf的原值為:天行健,君子以自強不息

刪除之後的值為: 天行健,以自強不息

StringBuilder類的常用方法