String,StringBuffer,StringBuilder效率优先关系说明:
public class StringBufferWithStringBuilder {
public static void testString() {
long start = System.currentTimeMillis();
String str = null;
for (int i = 0; i < 50000; i++) {
str = str + i + ",";
}
System.out.println("String耗时:"+(System.currentTimeMillis() - start));
}
public static void testStringBuffer() {
long start = System.currentTimeMillis();
StringBuffer sbuf = new StringBuffer();
for (int i = 0; i < 50000; i++) {
sbuf.append(i + ",");
}
System.out.println("StringBuffer耗时:"+(System.currentTimeMillis() - start));
}
public static void testStringBulider() {
long start = System.currentTimeMillis();
StringBuilder builder = new StringBuilder();
for (int i = 0; i < 50000; i++) {
builder.append(i + ",");
}
System.out.println("StringBuilder耗时:"+(System.currentTimeMillis() - start));
}
public static void main(String[] args) {
testString();
testStringBuffer();
testStringBulider();
}
}
控制台输出结果:
String耗时:8253
StringBuffer耗时:9
StringBuilder耗时:8
Process finished with exit code 0
结论:可想而知,效率最高的是StringBuilder>StringBuffer>String