以下是测试在for循环中使用StringBuilder和 "+"号的时间的差别
- 使用 "+’’ 号
/**
* 这里测试在for循环中,+号 和 StringBuilder的时间差
*/
public class StringBuilderTest {
// 本方法测试 + 号
public static void main(String[] args) {
String str = "";
// 开始时间
long start = System.currentTimeMillis();
// 拼接字符串
for (int i = 0; i < 100000; i++) {
str += i + "";
}
// 结束时间
long end = System.currentTimeMillis();
// 结束时间减去开始时间
long time = end - start;
// 结果
System.out.println(time);// 34404毫秒
System.out.println(str);
}
}
- 使用StringBuilder
public class StringBuilderTest1 {
// 本方法测试 StringBuilder
public static void main(String[] args) {
StringBuilder builder = new StringBuilder();
// 开始时间
long start = System.currentTimeMillis();
// 拼接字符串
for (int i = 0; i < 100000; i++) {
builder.append(i + "");
}
// 结束时间
long end = System.currentTimeMillis();
// 结束时间减去开始时间
long time = end - start;
// 结果
System.out.println("用时:"+time); // 32毫秒
System.out.println(builder.toString());
}
}
小结:
"+"号使用了34404毫秒,StringBuilder使用了32毫秒,这样的差距真的是太大了…