java字符串格式化性能对比String.format/StringBuilder/+拼接
String.format
由于每次都有生成一个Formatter
对象,因此速度会比较慢,在大数据量需要格式化处理的时候,避免使用String.format
进行格式化,相反使用
StringUtils.leftPad,StringUtils.rightPad
,然后使用
+
一次性(注:分为多个独立的
+
性能会受到较大影响)或者
StringBuilder
进行拼接能够极大地提升性能。LZ在一个海量数据导出场景中,改写后
(其中包括很多
BigDecimal
及计算)导出格式化性能提升了大约
2/3
。纯粹的字符串格式化性能平均可提升
5-20
倍。各种场景的测试可参考:
https://blog.csdn.net/u012123938/article/details/79508637
http://www.it1352.com/956721.html
http://ju.outofmemory.cn/entry/309166
https://www.jianshu.com/p/7eb224b9f064