String和StringBuilder有什麼不同

2021-10-05 00:00:00 字數 868 閱讀 4012

string類

字串是常量:它們的值在建立後不能更改。

字串的底層其實是乙個被final修飾的陣列,不能改變,是常量

private

final

byte

value;

stringbuilder類字串緩衝區,可以提高字串的操作效率(看成乙個長度可以變化的字串),底層也是乙個陣列,但是沒有被final修飾,可以改變長度。

stringbuilder在記憶體中始終是乙個陣列,占用空間少,效率高,如果超出了stringbuilder的容量,會自動的擴容

byte

value=

newbyte[16

];//可定義為你想要的具體數字

舉個例子:

在string類中

string s=「a」+「b」+「c」=「abc」

這樣的操作需要開闢三次記憶體空間,非常浪費

在stringbuilder類中

「a」+「b」+「c」=「abc」

始終是乙個陣列,占用空間少,效率高

stringbuilder和stringbuffer的區別

最大不同在於 stringbuilder 的方法不是執行緒安全的(不能同步訪問)。

由於 stringbuilder 相較於 stringbuffer 有速度優勢,所以多數情況下建議使用 stringbuilder 類。

然而在應用程式要求執行緒安全的情況下,則必須使用 stringbuffer 類。

String和string的區別

msdn中對string的說明 string is an alias for string in the net framework。string是string的別名而已,string是c 中的類,string是framework的類,c string 對映為 framework的 string。如...

String和string的區別

最近老看見有人在論壇上問string和string有什麼區別,答案五花八門差點兒沒讓我背過氣去,乾脆放到blog上來,論壇上就貼位址了 首先,在一般情況下,string和string是一樣的,但是他們也存在如下區別 1 string始終代表 system.string 1.x 或 system.st...

String和string的區別

msdn中對string的說明 string is an alias for string in the net framework。string是string的別名而已,string是c 中的類,string是framework的類,c string對映為framework的string。如果用s...