一、常用字符串類型的區別
String、StringBuffer和StringBuilder
嗯,隨便搜一下我們能知道,StringBuffer和StringBuilder對比String在字符串拼接的時候,String的會更慢一些。因爲String其實不是可變長度數組的對象,String用“+”拼接之後,其實是新建了一個String對象。
然後StringBuffer和StringBuilder的主要區別就在於,StringBuffer是線程安全的,而StringBuilder不是線程安全的,但是爲什麼呢?我們來看一下源碼。
註釋裏面寫了StringBuffer是線程安全的,那我們來看看實現。
所以,StringBuffer線程安全是因爲它的大多數方法加了 synchronized 關鍵字。