long s1 = System.currentTimeMillis();
int n = 10000;
String str = "";
for (int i = 0; i < n; i++) {
str += ("-" + i);
}
System.out.println("String使用的时间为" + (System.currentTimeMillis() - s1) / 1000.0 + "s");
long s2 = System.currentTimeMillis();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < n; i++) {
sb.append("-" + i);
}
System.out.println("StringBuilder使用的时间为" + (System.currentTimeMillis() - s2) / 1000.0 + "s");
long s3 = System.currentTimeMillis();
StringBuffer sbf = new StringBuffer();
for (int i = 0; i < n; i++) {
sbf.append("-" + i);
}
System.out.println("StringBuffer使用的时间为" + (System.currentTimeMillis() - s3) / 1000.0 + "s");
执行结果如下StringBuilder>StringBuffer>String
如果把n加个0 变成100000,可见String真的很慢
仅为了学习记录,勿喷