#StringBuilder:
可变字符序列、效率高、线程不安全、执行速度快
#StringBuffer:
可变字符串、效率低、线程安全、执行速度慢
#StringBuilder:
字符串变量(非线程安全),在内部,StringBuilder对象被当作是一个包含字符序列的变长数组(就像是一个容器)
#StringBuffer:
每次都会对 StringBuffer 对象本身进行操作,而不是生成新的对象并改变对象引用。所以多数情况下推荐使用 StringBuffer ,特别是字符串对象经常改变的情况下
使用原则:
如果要操作少量的数据,用String ;
单线程操作大量数据,用StringBuilder ;
多线程操作大量数据,用StringBuffer
不要使用String类的"+"来进行频繁的拼接,因为那样的性能极差的,应该使用StringBuffer或StringBuilder类