1. 程式人生 > >[Java] String, StringBuilder 和 StringBuffer 的區別

[Java] String, StringBuilder 和 StringBuffer 的區別

String物件內容不可變, StringBuilderStringBuffer 物件內容可變。
StringBuilderStringBuffer效率更高, 但StringBuffer提供執行緒同步,也就是說,如果多個執行緒併發訪問同一個字串,即併發呼叫其方法,應使用StringBuffer
StringBuilder有3個建構函式和30多個方法,StringBuiderStringBuffer的建構函式和方法幾乎是一樣的。
假如字串不會變化,應使用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