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);
}