java小例子

1.为什么阿里开发手册不建议在 for 循环中使用”+”号操作符进行字符串拼接

来看两段代码。
第一段,for 循环中使用”+”号操作符。
String result = "";for (int i = 0; i < 100000; i++) { result += "六六六";}
第二段,for 循环中使用 append。
StringBuilder sb = new StringBuilder();for (int i = 0; i < 100000; i++) { sb.append("六六六");}
这两段代码分别会耗时多长时间呢?在我的 iMac 上测试出的结果是:
1)第一段代码执行完的时间为 6212 毫秒
2)第二段代码执行完的时间为 1 毫秒
差距也太大了吧!为什么呢?
我相信有不少同学已经有了自己的答案:第一段的 for 循环中创建了大量的 StringBuilder 对象,而第二段代码至始至终只有一个 StringBuilder 对象。

猜你喜欢

转载自www.cnblogs.com/smz163/p/13193768.html