stringBuilder類的一些用法

2022-08-10 03:18:12 字數 1935 閱讀 3997

對字串進行大量操作時比如拼接、擷取,會在記憶體中新建很多字串物件。為了減少記憶體開支,可以使用stringbuilder型別。

建立stringbuiler例項:

用建構函式直接建立:

stringbuilder   mystringbuilder   =   new   stringbuilder("hello   world!");

或建立空的例項再賦值;

stringbuilder mystringbuilder   = new

stringbuilder();

"hello world!

");

stringbuilder str= new stringbuilder("

hello world!");

"c");

得到:hello world!c

2、tostring():得到字串:

stringbuilder str= new stringbuilder("

hello world!");

str.tostring();

得到 hello world!

stringbuilder str= new stringbuilder("

hello world!

");

"", 10);

得到: hello world!¥10.00

補充:  "0"表示佔位符。c 是格式化控制資訊,c表示貨幣格式。 

c | c:代表貨幣格式

d | d:代表十進位制格式

e | e:代表科學計數(指數)格式

f | f: 浮點格式

x | x: 十六進製制格式。

4、insert(int offset, string str)/insert(int offset, char c):在指定位置之前插入字元(串)

stringbuilder str= new stringbuilder("

hello world!");

str.insert(

6,"cute

");

得到:hello cute world!

5、remove(int offset,int length) 移除指定位置開始的指定長度的字元(串):

stringbuilder str= new stringbuilder("

hello world!");

str.insert(

6,"cute ");

str.remove(

6, 4);

得到 hello world!

6、replace (string  str,string str2)將str替換成str2:

stringbuilder str= new stringbuilder("

hello world!");

str.replace(

"world

","china

");

得到:hello china!

在以下情況應該考慮使用string

在生成字串時,必須執行大量的搜尋操作。 stringbuilder類缺少搜尋方法,如indexofstartswith。 stringbuilder對於這些操作,必須將物件轉換為 string ,這可能會使使用stringbuilder不會帶來效能優勢

在以下情況應該考慮使用stringbuilder

常用類庫StringBuilder

常用類庫 stringbuilder高效的字串操作 後台編輯使用的比較多 當大量進行字串操作的時候,比如,很多次的字串的拼接操作。string 物件是不可變的。每次使用 system.string 類中的乙個方法時,都要在記憶體中建立乙個新的字串物件,這就需要為該新物件分配新的空間。在需要對字串執行...

StringBuilder類與String類的區別

url string 物件是不可改變的。每次使用 system.string 類中的方法之一或進行運算時 如賦值 拼接等 時,都要在記憶體中建立乙個新的字串物件,這就需要為該新物件分配新的空間。而 stringbuilder 則不會。在需要對字串執行重複修改的情況下,與建立新的 string 物件相...

18 StringBuilder類 包裝類

string類的字串是常量,它們的值在建立之後就不能修改,如果進行字串的相加,記憶體中就會有大量的字串,占用空間多,效率低 stringbuilder類的字串緩衝區,底層也是乙個陣列,但是沒有final,內容可以改變,這個陣列的初始長度為16,如果超出了會自動擴充 構造方法 無參構造 stringb...