1.String 创建之后是不可变的,因此不存在线程安全方面的问题.
2.StringBuffer :内容是用Char[]数组来存储存的,默认16个字符。在操作时会synchronized处理,因此是线程安全的。
3.StringBuilder :大体上与StringBuffer类似,但不是线程安全的
三者适用的情况:
String:适用于少量的字符串操作的情况
StringBuilder:适用于单线程下在字符缓冲区进行大量操作的情况
StringBuffer:适用多线程下在字符缓冲区进行大量操作的情况
因此效率上来讲:StringBuilder>StringBuffer>String