性能:StringBuilder>StringBuffer>String
String是不可变对象,在做字符串拼接的时候需要使用StringBuilder或者StringBuffer。
StringBuilder是线程不安全的,StringBuffer是线程安全的。
但是这并不意味不考虑安全的情况下就应该使用StringBuilder/不考虑性能的情况下就应该使用StringBuffer,在开发中使用StringBuilder的情况比较多。
因为在开发中每个线程通过Service对象时访问的都是局部变量(即每个线程访问一个StringBuilder),不会因为线程安全的问题造成多线程相互干扰。
ps.StringBuilder/StringBuffer底层初始字符数组容量为16,扩容方案为2n+2,如果不够则直接扩容到需要的大小。