/*
对比String、StringBuffer、StringBuilder三者的效率:
从高到低排列:StringBuilder > StringBuffer > String
*/
@Test
public void test3(){
//初始设置
long startTime = 0L;
long endTime = 0L;
String text = "";
StringBuffer buffer = new StringBuffer("");
StringBuilder builder = new StringBuilder("");
//开始对比
startTime = System.currentTimeMillis();
for (int i = 0;i < 20000;i++){
buffer.append(String.valueOf(i));
}
endTime = System.currentTimeMillis();
System.out.println("StringBuffer的执行时间:" + (endTime - startTime));
startTime = System.currentTimeMillis();
for (int i = 0;i < 20000;i++){
builder.append(String.valueOf(i));
}
endTime = System.currentTimeMillis();
System.out.println("StringBuilder的执行时间:" + (endTime - startTime));
startTime = System.currentTimeMillis();
for (int i = 0;i < 20000;i++){
text = text + i;
}
endTime = System.currentTimeMillis();
System.out.println("String的执行时间:" + (endTime - startTime));
}
运行结果:
StringBuffer的执行时间:6
StringBuilder的执行时间:2
String的执行时间:321

本文通过代码测试对比了Java中String、StringBuffer和StringBuilder的执行效率,结果显示StringBuilder最快,StringBuffer其次,而String最慢。测试过程中通过循环20000次append操作,测量了各自所需的时间,显示了在大量字符串拼接时选择StringBuilder或StringBuffer的优越性。
1万+

被折叠的 条评论
为什么被折叠?



