string、StringBuilder、StringBuffer 的区别?
- String:String类是不可变的,每次操作都会创建新的对象;它是线程安全的,可以在多线程环境下使用。
- StringBuilder:StringBuilder类是可变的,StringBuilder比String更高效。但是它是非线程安全的,不能保证线程安全性。
- StringBuffer:StringBuffer类是不可变的,与StringBuilder不同的是,StringBuffer是线程安全的,可以在多线程环境下使用。需要注意,它通过使用同步方法来确保线程安全性,因此会带来额外的性能开销。