- 可变和适用范围:String 对象是不可变的,而 StringBuffer 和 StringBuilder 是可变的字符串。每次对 String 进行操作都会生成一个新的 String 对象,而对 StringBuffer 和 StringBuilder 的操作是对对象本身的操作,不会生成新的对象,所以对于频繁更改字符串内容的避免使用 String,因为会频繁生成 String 对象可能会对系统性能产生影响。
- 线程安全:String 对象是被 final 修饰的,是不变的,安全性是简单纯粹的。StringBuffer 是线程安全的,方法被 synchronized 修饰的。StringBuilder 是线程不安全的,效率会更高一点。
String、StringBuffer 与 StringBuilder 的区别?
最新推荐文章于 2023-07-01 00:47:38 发布