String是不可变的

StringBuffer与StringBuilder都是可变的

StringBuffer是线程安全的

StringBuilder是非线程安全的

 

结合String类,总结如下:

  1. 如果拼接次数少而且字符串长度较短,则适用String。

  2. 如果拼接次数多而且字符串长度较长,而且在单线程下,则适用StringBuilder。

  3. 如果拼接次数多而且字符串长度较长,而且在多线程下,则适用StringBuffer。