代码如下:
public class StartApplication {
public static void main(String[] args) {
//初始设置
long startTime = 0L;
long endTime = 0L;
String text = "";
StringBuffer buffer = new StringBuffer("");
StringBuilder builder = new StringBuilder("");
//开始对比
startTime = System.currentTimeMillis();
for (int i = 0; i < 50000; i++) {
buffer.append(String.valueOf(i));
}
endTime = System.currentTimeMillis();
System.out.println("StringBuffer的执行时间:" + (endTime - startTime));
startTime = System.currentTimeMillis();
for (int i = 0; i < 50000; 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 += i;
}
endTime = System.currentTimeMillis();
System.out.println("String的执行时间:" + (endTime - startTime));
}
}
结果:
StringBuffer的执行时间:12
StringBuilder的执行时间:6
String的执行时间:1280
这篇博客通过代码测试了在Java中进行大量字符串拼接时,StringBuffer、StringBuilder以及String的性能差异。结果显示,StringBuilder在执行效率上优于StringBuffer,而String的性能最差,尤其是在循环操作中。这揭示了在进行字符串操作时选择合适的数据结构的重要性。
1万+

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



