字符串拼接效率问题

由于每个String连接都复制整个String,因此通常最好使用对StringBuilder.append()或StringBuffer.append()的显式调用来替换它。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public static void printOddNumbersBetween(int start, int end) {
StringBuilder result = new StringBuilder();
// 低效的写法
/*
for (int i = start; i <= end; i++) {
if (i % 2 != 0) {
result += (i + ",");
}
}
*/

for (int i = start; i <= end; i++) {
if (i % 2 != 0) {
result.append(i).append(",");
}
}

System.out.println(result.subSequence(0,result.length()));
}