String 和StringBuffer的區別

2021-09-29 07:31:19 字數 553 閱讀 1153

1.string類的內容一旦宣告之後是不可改變的,改變的只是其記憶體的指向,而stringbuffer的物件內容是可以改變的。string物件不可修改指的是物件本身不可修改,而不是引用不可修改。

舉個栗子:

假如有 string a="你好"; 意思是宣告乙個string型別的引用變數a,在記憶體中建立乙個string物件(值為"你好"),然後把這個物件的引用賦值給變數a。

a = "hello"; 這行**執行的效果是在記憶體中另外建立了乙個string物件(值為"hello"),然後把這個新物件的引用賦值給變數a,而不是把原來的記憶體中的那個「你好」的string物件值變為「hello」。

2.對於stringbuffer,不能像string那樣直接通過賦值的方式完成物件例項化,必須通過構造方法的方式完成。如:

stringbuffer sb=new stringbuffer();

3.stringbuffer類在進行字串處理時,不生成新的物件,在記憶體使用上要優於string類。所以在實際使用時,如果經常需要對乙個字串進行修改,例如插入,刪除等操作,使用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...