java 使用StringBuilder的好处
StringBuilder 为动态数组可以有效的降低字符串拼接的损耗。
普通String的"+="操作
- 对于普通的String += 在jdk1.5之后都是调用StringBuilder对象来用其append方法进行处理。
StringBuilder的append操作
StringBuilder A = new StringBuilder();
A.append("123");
对于上面的代码,StringBuilder使用的是底层方法arrayCopy来进行拼接。
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length);
对于上面的方法,可以将数组中指定位置的数据拷贝到其他数组的指定位置。
##StringBuilder和String的对于拼接字符串的区别
String s="";
for(int i=0;i<5;i++){
s+=i;
}
对于上面的代码每一次循环都会创建一次StirngBuilder的对象,所以损耗比较大,所以对于stirng的"+="操作只适用于不在循环内的拼接。
对于上述情况应该使用:
StringBuilder A = new StringBuilder();
for(int i=0;i<5;i++){
A.append(i);
}