题目分析:作者正在学习中… 【答案】 可变性 String 不可变 StringBuffer 和 StringBuilder 可变线程安全 String 不可变,因此是线程安全的 StringBuilder 不是线程安全的 StringBuffer 是线程安全的,内部使用 synchronized 进行同步适用场景 操作少量的字符串数据的时候,可以考虑String; 单线程场景下操作大量字符串数据的时候,考虑使用StringBuilder; 多线程场景下操作大量字符串数据的时候,考虑使用StringBuffer; 【题目拓展】 为什么String 不可变,StringBuffer 和 StringBuilder 可变? 线程安全是什么意思? synchronized 是什么? 为什么StringBuffer 内部使用 synchronized进行同步,就线程安全了?