String,StringBuffer,StringBuilder 之间有什么区别?
# String,StringBuffer,StringBuilder 之间有什么区别?
- String 对象是不可变的。String 类中使用 final 关键字修饰字符数组来保存字符串,private final char value[]。
- StringBuffer,StringBuilder是可变的
- StringBuffer 对方法加了同步锁或者对调用的方法加了同步锁,所以是线程安全的。StringBuilder 是线程不安全的。
String | StringBuffer | StringBuilder | |
---|---|---|---|
可变性 | 不可变 | 可变 | 可变 |
线程安全性 | 安全 | 安全 | 不安全 |
使用场景 | 操作少量数据 | 多线程操作字符串缓冲区下操作大量数据 | 单线程操作字符串缓冲区下操作大量数据 |
编辑 (opens new window)
上次更新: 2022/05/19, 21:26:01