1. 程式人生 > 其它 >第五講 String,StringBuffer,StringBuilder

第五講 String,StringBuffer,StringBuilder

1.Question

String、StringBuffer、StringBuilder有什麼區別?

2.Answer

String是Java語言非常基礎和重要的類,提供了構造和管理字串的各種基本邏輯。它是典型的Immutable類,被宣告成為final class,所有屬性也都是final的。也由於它的不可變性,類似拼接、裁剪字串等動作,都會產生新的String物件。由於字串操作的普遍性,所以相關操作的效率往往對應用效能有明顯影響。

StringBuffer是為解決上面提到拼接產生太多中間物件的問題而提供的一個類,我們可以用append或者add方法,把字串新增到已有序列的末尾或者指定位置。StringBuffer本質是一個執行緒安全的可修改字元序列,它保證了執行緒安全,也隨之帶來了額外的效能開銷,所以除非有執行緒安全的需要,不然還是推薦使用它的後繼者,也就是StringBuilder。

StringBuilder是Java 1.5中新增的,在能力上和StringBuffer沒有本質區別,但是它去掉了執行緒安全的部分,有效減小了開銷,是絕大部分情況下進行字串拼接的首選。

3.知識擴充套件

https://blog.csdn.net/qq_43437122/article/details/105806653