java基础——String,StringBuffer,StringBuilder
String,StringBuffer,StringBuilder

StringBuffer对象是一个字符序列可变的字符串,它没有重新生成一个对象,而且在原来的对象中调用了append方法增加了内容,因此值发生了改变
StringBuffer类中在实现方法上增加了 synchronized关键字 如下图

这个关键字相当于给方法添加了一个锁,所以从这里来看,StringBuffer的线程是安全的。而StringBuilder类在实现方法上并无 synchronized关键字 ,因此它的线程是不安全的。
- String的值不可变,StringBuffer 和StringBuildr的值可变
- 运行速度 StringBuilder>StringBuffer>String (StringBuffer有锁,所以性能会降低)
- StringBuffer线程是安全的,适合多线程;StringBuilder线程是不安全的,适合单线程
- 如果不需要频繁的修改值,用String即可

浙公网安备 33010602011771号