String和StringBuffer的區別

2021-10-08 01:25:54 字數 733 閱讀 4990

string和stringbuffer都可以儲存和操作字串,即包含多個字元的字元資料。

string是不可變物件,一旦被建立就不能再修改它的值,對於已經存在的string物件的修改都是重新建立乙個新的物件,然後把新的值儲存進去,而stringbuffer是乙個可變物件,當對他進行修改的時候不會像string那樣重建物件;

string是final類,不能被繼承;

字串連線操作中stringbuffer的效率明顯比string高;

使用string做10000次向一字串後新增字串,耗時1872ms,記憶體消耗1301kb;

使用stringbuffer做10000次向一字串後新增字串,耗時15ms,記憶體消耗162kb;

補充

stringbuffer的方法:

刪除指定位置的字元:sb.deletecharat(index);

刪除某段字串:sb.delete(start,end);

在指定位置插入:sb.insert(index,str);

字串逆**sb.reverse();

修改index位置的值:sb.setchatat(index,char);

縮小儲存空間到字串長度:sb.trimtosize();

獲取字串長度:sb.length();

替換字串:sb.replace(start,end,str);

轉換為不變字串:sb.tostring();

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...