StringBuider 在什么条件下、如何使用效率更高
都说 StringBuilder 在处理字符串拼接上效率要强于 String,但有时候我们的理解可能会存在一定的偏差。最近我在测试数据导入效率的时候就发现我以前对 StringBuilder 的部分理解是错误的。分别使用 String 和 StringBuilder 拼接第二组:多次 For 循环拼接一个字符串,循环结束后使用字符串,使用后由垃圾回收器回收。也是分别使用 String 和 StringBuilder 拼接为了保证测试质量,在每个测试项目进行前。最后执行 5 次求平均时间的方式计算时间主方法测试结果如下结果分析第一组10_000_000 次循环拼接,在循环内使用 String 和 StringBuilder 的效率是一样的!使用 可以发现 String 方法拼接字符串编译器优化后使用的就是 StringBuilder、因此用例1 和用例2 的效率是一样的。相比较用例4在循环外创建,多了 n 次 new 对象、销毁对象的操作、n - 1 次将 StringBuilder 转换成 String 的操作 。
用户评论