1.String
是不可变的对象。因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常改变内容的字符串最好不要用 String ,因为每次生成对象都会对系统性能产生影响,特别当内存中无引用对象多了以后,JVM 的 GC 就会开始工作,影响性能,可以考虑使用可变字符序列,线程不安全。在大量数据进行赋值操作时,速度很慢,适合小数据,单线程。
2.StringBuilder
线程不安全,速度很快,适合单线程。
3.StringBuffer
线程不安全,速度比stringbuilder慢一点,适合多线程。