public
class jerque
long endtime = system.currenttimemillis(); // 定義對字串操作後的時間
long time = endtime - startime; // 計算對字串執行操作的時間
stringbuilder builder = new stringbuilder(""); // 建立字串生成器
startime = system.currenttimemillis(); // 定義操作執行前的時間
for (int j = 0; j < 10000; j++)
endtime = system.currenttimemillis(); // 定義操作後的時間
time = endtime - startime; // 追加操作執行的時間}}
執行結果
通過這一例項可以看出,兩種操作執行的時間差距很大。如果在程式中頻繁使用附加字元,建議使用stringbuilder。
若要使用stringbuilder最後輸出字串結果,可使用tostring()方法。利用stringbuilder類中的方法可動態地執行新增、刪除和插入等字串的編輯操作。
該方法用於向字串生成器中追加內容。通過該方法的多個過載形式,可實現接受任何型別的資料,如int, boolean, char, string, double或者另乙個字串生成器等。
語法如下:
(content)
其中,content表示要追加到字串生成器中的內容,可以是任何型別的資料或者其他物件。
insert(int offset, arg)
該方法用於向字串生成器中的指定位置插入資料內容。通過該方法的不同過載形式,可實現向字串生成器中插入int 、float、char和boolean等基本資料型別或其他物件。語法如下:
insert(int offset, arg);
offset: 字串生成器的位置。該引數必須大於等於0,且小於等於此序列的長度。
arg:將插入至字串生成器的位置。該引數可以是任何的資料型別或其他物件。
stringbuilder bf=new stringbuilder("hello");
bf.insert(5,world);
system.out
.printlf(bf.tostring()); //輸入為helloworld
delete(int start, int end)移除此序列的子字串中的字元。該子字串從指定的start處開始,一直到索引end-1處的字元,如果不存在這種字元,則一直到序列尾部。如果start等於end,則不發生任何更改。語法如下:
delete(int star, int
end);
start:將要刪除的字串的起點位置。
end:將要刪除的字串的終點位置。
stringbuilder bf=new stringbuilder("stringbuilder");
bf.delete(5,10);
system.out.printlf(bf.tostring()); //輸出為strinder
字串生成器
建立成功的字串物件,其長度是固定的,內容不能被改變和編譯,雖然使用 號可以達到附加新字元或字串的目的,但是 號會產生乙個新的string例項,會在記憶體中產生建立新的字串物件,如果重複的對字串進行修改,將極大的增加系統的開銷。而j2se5.0新增了可變字串行string builder類,大大提高的...
字串生成器
作用 建立成功的字串物件,其長度是固定的,內容不能改變和編譯。雖然使用 可以達到附加新字串的目的,但是這樣就會產生新的string例項,如果重複對字串進行修改,將極大增加系統的開銷。使用字串生成器的目的就是提高改變字串的效率。stringbulider bf new stringbulider he...
字串生成器 StringBuilder
利用stringbuilder類中的方法可動態地執行新增 刪除 插入和輸出等字串的編輯方式 public class jerque long endtime system.currenttimemillis 定義對字串操作後的時間 long time endtime starttime 計算對字串執...