String:
1.拼接字符串时每次都会产生新的空间,浪费空间和内存使用,因此在操作少量字符串的时候使用;
2.拼接底层自动优化为StringBuilder,并且调用StringBuilder的append()方法进行拼接,结果又调用toString()方法将其转换为String.
3.使用final修饰,一旦创建不能被更改,线程不安全
StringBuffer:
是线程安全的,有synchronized修饰,适用于多线程操作字符串缓冲区下操作大量数据的情况
StringBuilder:
是线程不安全的,适用于单线程操作大量字符串的情况下使用。
运行速率:StringBuilder >StringBuffer > String