String類和StringBuffer類的區別

2023-01-28 01:15:44 字數 2078 閱讀 3809

1樓:吉人有吉事

1. 在執行速度方面的比較:stringbuilder > stringbuffer

2. stringbuffer與stringbuilder,他們是字串變數,是可改變的物件,每當我們用它們對字串做操作時,實際上是在一個物件上操作的,不像string一樣建立一些物件進行操作,所以速度就快了。

3. stringbuilder:執行緒非安全的

stringbuffer:執行緒安全的

當我們在字串緩衝去被多個執行緒使用是,jvm不能保證stringbuilder的操作是安全的,雖然他的速度最快,但是可以保證stringbuffer是可以正確操作的。當然大多數情況下就是我們是在單執行緒下進行的操作,所以大多數情況下是建議用stringbuilder而不用stringbuffer的,就是速度的原因。

對於三者使用的總結:1.如果要操作少量的資料用 = string

2.單執行緒操作字串緩衝區 下操作大量資料 = stringbuilder

3.多執行緒操作字串緩衝區 下操作大量資料 = stringbuffer

2樓:

簡單地說,就是一個變數和常量的關係。stringbuffer物件的內容可以修改;而string物件一旦產生後就不可以被修改,重新賦值其實是兩個物件。

stringbuffer的內部實現方式和string不同,stringbuffer在進行字串處理時,不生成新的物件,在記憶體使用上要優於string類。所以在實際使用時,如果經常需要對一個字串進行修改,例如插入、刪除等操作,使用stringbuffer要更加適合一些。

j**a的string類和stringbuffer兩個類的區別

3樓:

最明顯區別就是string物件不能操作改變,只能訪問。而stringbuffer能夠改變資料。

請問j**a中的string類和stringbuffer類有什麼區別與聯絡,謝!

4樓:匿名使用者

string和stringbuffer他們都copy可以儲存和操作字串,即包含bai多個字元的字串數du據。

string類是字zhi符串常量,是不可更改的常dao量。而stringbuffer是字串變數,它的物件是可以擴充和修改的。

5樓:love**專員

兩者用法復

相同,string生產的字制符叫不可變字元,stringbuffer是可變字元。方法stringbuffer的方法比string多,如果要操作的字元是變化的那麼最好stringbuffer處理,這樣可以提高效能。

6樓:匿名使用者

這個問題bai百度一

du下非常

zhi多,

這個寫版

的不錯權

7樓:匿名使用者

string類是不可更改的常量。而stringbuffer可更改

string和stringbuffer有什麼區別啊?

string類和stringbuffer類的區別,有點不理解???

8樓:古道軒

string : 常量字串,一旦賦值或例項化後就不可更改.

stringbuffer : 可變字串構造器,典型的物件,堆中建立,如頻繁的修改字串值,可以使用stringbuffer.

9樓:匿名使用者

string : 常量字串

stringbuilder : 空字串

10樓:匿名使用者

實際上在編譯成位元組碼的時候,jvm會生成一個瞬間的stringbuilder來連線字串

11樓:匿名使用者

string 類的實力建立後記憶體空間內的值是不能改變的

stringbuffer 類建立的是字串緩衝區物件 通過呼叫方法同臺改變其中的值

C裡面的string和String有什麼區別

string是c 中的類,string是.net framework的類 在c ide中不會顯示藍色 c string對映為.net framework的string 如果用string,編譯器會把它編譯成string,所以如果直接用string就可以讓編譯器少做一點點工作 如果使用c 建議使用st...

用c編寫類string的建構函式拷貝建構函式析

你看看bai這du 個,裡zhi面dao 好像就回有答 能不能幫忙寫一下c 類的建構函式,拷貝建構函式,賦值運算子 號的操作符過載,解構函式?求教 class test test test void test test test item 拷貝this data new char itemlen p...

string和List《string》有什麼區別

string是一個引用資料型別,可以儲存字串,例如 string s 你好,而list是集合類介面,由於泛型 約束所以是一個只能存取string型別的集合。listlist new arraylist list.add 你好 list.add hello 陣列的容量是固定的,您只能一次獲取或設定一個...