public class StringConcatTest extends TestCase{
public static int COUNT = 100000 ;
public void testString() {
String result = "";
long start = System.currentTimeMillis();
for (int i = 0; i < COUNT; i++) {
result = result + i;
}
long end = System.currentTimeMillis();
System.out.println("用 + 耗时:\t" + (end - start));
String result1 = "";
start = System.currentTimeMillis();
for (int i = 0; i < COUNT; i++) {
result1 = result1.concat(String.valueOf(i));
}
end = System.currentTimeMillis();
System.out.println("用 concat 耗时:\t"+(end - start));
start = System.currentTimeMillis();
StringBuffer buffer = new StringBuffer();
for (int i = 0; i < 10000; i++) {
buffer.append(i);
}
end = System.currentTimeMillis();
System.out.println("用 StringBuffer 耗时:\t"+(end - start));
start = System.currentTimeMillis();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 10000; i++) {
sb.append(i);
}
end = System.currentTimeMillis();
System.out.println("用 StringBuilder 耗时:\t"+(end - start));
}
}
测试结果
用 + 耗时: 17517
用 concat 耗时: 8813
用 StringBuffer 耗时: 1
用 StringBuilder 耗时: 0