方法一:sbbb.append("1"+"aaaaaa"+"2");方法二:sbb.append("1");sbb.append("aaaaaa");sbb.append("2");经过测试,发现方法一所用的时间比方法二的时间短。这让我有些疑惑了,明明是...
方法一:
sbbb.append("1" + "aaaaaa" + "2");
方法二:
sbb.append("1");
sbb.append("aaaaaa");
sbb.append("2");
经过测试,发现方法一所用的时间比方法二的时间短。
这让我有些疑惑了,明明是StringBuilder的速度比String快,这个程序,怎么反过来了。
源代码:
import java.util.Date;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
int k = 0;
for (int d = 0; d < 1000 ; d++) {
Date start1 = new Date();
StringBuilder sbbb = new StringBuilder();
for (int b = 0; b <9999999; b++) {
sbbb.append("1" + "aaaaaa" + "2");
}
long plus = new Date().getTime() - start1.getTime();
Date start = new Date();
StringBuilder sbb = new StringBuilder();
for (int a = 0; a < 9999999; a++) {
sbb.append("1");
sbb.append("aaaaaa");
sbb.append("2");
}
long append = new Date().getTime() - start.getTime();
if (append > plus) {
k++;
}
}
System.out.println("append > plus有" + k + "次");
}
}
展开