String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将引用指向新的 String 对象,所以经常改变内容的字符串最好不要用 String ,因为每次生成对象都会对系统性能产生影响.
而对StringBuffer 类的对象进行操作时是对 StringBuffer 对象本身进行操作,而不是生成新的对象,再改变对象引用。
StringBuilder与StringBuffer差不多,区别是前者是线程不安全的, 即多线程时不能同步. 但效率比StingBuffer高. StringBuffer是线程安全的, 但效率略低.
API上明确写了, 如非多线程 ,一般使用StringBuilder |