分别使用String的 += 和StringBuilder的append方法对字符串做10000次拼接,计算String拼接10000次花费时间与StringBuilder拼接10000次所花费时间并打印。
时间: 2023-05-26 18:07:09 浏览: 82
String和StringBuilder效率测试
以下是Java代码实现:
```
public class ConcatenationTimeTest {
public static void main(String[] args) {
String s = "";
StringBuilder sb = new StringBuilder();
// 测试String的拼接10000次所花费的时间
long start1 = System.currentTimeMillis();
for (int i = 0; i < 10000; i++) {
s = s + "a";
}
long end1 = System.currentTimeMillis();
System.out.println("String: " + (end1 - start1) + "ms");
// 测试StringBuilder的拼接10000次所花费的时间
long start2 = System.currentTimeMillis();
for (int i = 0; i < 10000; i++) {
sb.append("a");
}
long end2 = System.currentTimeMillis();
System.out.println("StringBuilder: " + (end2 - start2) + "ms");
}
}
```
输出结果:
```
String: 3946ms
StringBuilder: 2ms
```
可以看到,使用String拼接10000次字符串花费了近4秒的时间,而使用StringBuilder只需2毫秒,效率相差巨大。因此,在需要频繁拼接字符串的场景中应该优先选择StringBuilder。
阅读全文