1)对象的可变与不可变
String对象不可变,StringBuffer和StringBuilder对象可变。
2)线程是否安全
- String中的对象不可变,String类在java.lang包中,String类是final修饰的,不能被继承,String类对象创建后不能修改,线程安全
- StringBuffer中的方法大豆采用了Synchronized关键字修饰的,线程安全
- StingBuilder没有对方法进行加同步锁,线程不安全
3)字符串追加速度比较
StringBuilder > StringBuffer > String