java基础——String,StringBuffer,StringBuilder

String,StringBuffer,StringBuilder

 

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

StringBuffer类中在实现方法上增加了 synchronized关键字 如下图

 

 

 这个关键字相当于给方法添加了一个锁,所以从这里来看,StringBuffer的线程是安全的。而StringBuilder类在实现方法上并无 synchronized关键字 ,因此它的线程是不安全的。

  1. String的值不可变,StringBuffer 和StringBuildr的值可变
  2. 运行速度 StringBuilder>StringBuffer>String (StringBuffer有锁,所以性能会降低)
  3. StringBuffer线程是安全的,适合多线程;StringBuilder线程是不安全的,适合单线程
  4. 如果不需要频繁的修改值,用String即可
posted @ 2021-01-19 11:28  三灶龙都88  阅读(50)  评论(0)    收藏  举报