题目来源:https://zhuanlan.zhihu.com/p/86536581
java面试清单
**java基础 **
详解
07 String ,StringBuffer,StringBuilder哪个是安全的
String StringBuffer StringBuilder 以上哪个是线程安全的
String:因为不是基本数据类型,所以初始化的时候必须进行赋值。因此是线程安全的
StringBuffer: 对其中的方法都施加了synchronized同步锁,因此也是线程安全的
StringBuilder: 什么都没有做,因此是线程不安全的
String StringBuffer StringBuilder 的区别
a. 线程安全程度
b. 对象可变性 String:对象不可边,即使是看上去的修改操作,都是通过new出两个新的对象; StringBuffer StringBuilder 对象可变
c. 字符串追加速度 StringBuilder > StringBuffer > String
String的拼接操作
只要有变量参加的字符串拼接,都会new出一个新对象