>本文对比了String、StringBuffer和StringBuilder:String不可变;后两者可变,核心区别在于线程安全与性能。 这是一个在Java面试和日常开发中都非常重要的问题。我们来详细地解析一下, , 和 的区别。 一句话总结 :不可变的字符序列。 :可变的字符序列,线程安全,但效率较低。 :可变的字符序列,线程不安全,但效率最高。 --- 核心区别对比 | 特性 | String | StringBuffer | StringBuilder | | :--- | :--- | :--- | :--- | | 可变性 (Mutability) | 不可变 (Immutable) | 可变 (Mutable) | 可变 (Mutable) | | 线程安全性 (Thread Safety) | 线程安全 | 线程安全 (Synchronized) | 线程不安全 | | 性能 (Performance) | 在频繁修改时性能最低 | 在频繁修改时性能中等 | 在频繁修改时性能最高 | | 底层实现 | | | | | 适用场景 | 少量、基本不改变的字符串 | ...