String s=“abc”+“def”+“ghi”;
上面這段代碼在Java中是先構建一個StringBuiler對象,然后使用append()方法拼接字符串最后調用toString()方法生成字符串,沒有什么問題。
但是如果是在循環中拼接字符串如下代碼
String s = "";
for (int i=0;i<strs.length;i++) {
s += strs[i];
}
System.out.println(s);
StringBuilder sb = new StringBuilder(); for (int i=0;i<strs.length;i++) { sb.append(strs[i]); } System.out.println(sb.toString());
看上邊這兩段代碼就有區別了,上面代碼創建了很多個StringBuilder對象,而下面只創建了一個StringBuiler對象,如果字符數組很大性能差距明顯。