-
和StringBuilder
都是可變字元串,前者線程不安全,後者線程安全。StringBuffer
-
和StringBuilder
的大部分方法均調用父類StringBuffer
的實作。其擴容機制首先是把容量變為原來容量的2倍加2。最大容量是AbstractStringBuilder
,也就是Integer.MAX_VALUE
。0x7fffffff
-
和StringBuilder
的預設容量都是16,最好預先估計好字元串的大小避免擴容帶來的時間消耗。StringBuffer
-
效率更快,因為它不需要加鎖,不具備多線程安全而StringBuilder
則每次都需要判斷鎖,效率相對更低StringBuffer