(1)String是字元串常量,一旦創建之後不可更改;StringBuffer和StringBuilder是字元串變數,可以更改。String的不可變,所以適合作為Map的鍵。 (2)StringBuilder 是線程不安全的,StringBuffer是線程安全的,使用了Synchronized關鍵 ...
(1)String是字元串常量,一旦創建之後不可更改;StringBuffer和StringBuilder是字元串變數,可以更改。String的不可變,所以適合作為Map的鍵。
(2)StringBuilder 是線程不安全的,StringBuffer是線程安全的,使用了Synchronized關鍵字,即線程鎖。
(3)字元串拼接時的效率:StringBuilder > StringBuffer > String。
(4)如果操作少量的數據用 String,單線程下操作大量數據用StringBuilder,多線程下操作大量數據用StringBuffer。