[Java] String, StringBuilder 和 StringBuffer 的區別
阿新 • • 發佈:2019-01-10
String
物件內容不可變, StringBuilder
和 StringBuffer
物件內容可變。
StringBuilder
比 StringBuffer
效率更高, 但StringBuffer
提供執行緒同步,也就是說,如果多個執行緒併發訪問同一個字串,即併發呼叫其方法,應使用StringBuffer
。
StringBuilder
有3個建構函式和30多個方法,StringBuider
和StringBuffer
的建構函式和方法幾乎是一樣的。
假如字串不會變化,應使用String
,JVM對String
進行了一些優化,例如共享限定字串等。
java.lang.StringBuilder | |
---|---|
+StringBuilder() | Constructs an empty string builder with capacity 16. |
+StringBuilder(capacity: int) | Constructs a string builder with the specified capacity. |
+StringBuilder(s: String) | Constructs a string builder with the specified string. |
其中,capacity 是一個string builder最多能容納的字元數(如果超過就要進行容量擴充) .
Introductuion to java programming 10.th editon 10.11