线程安全
String 字符串常量
StringBuffer 字符串变量(线程安全)
StringBuilder 字符串变量(非线程安全)
运行速度
StringBuilder > StringBuffer > String
String
String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常改变内容的字符串最好不要用 String
StringBuffer
一个类似于 String 的字符串缓冲区,但不能修改。StringBuffer上的主要操作是append(将这些字符添加到缓冲区的末端)和insert(指定的点添加字符)方法
StringBuilde
该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)