最快&格式化字符串的最有效方法
在Java中将格式为“20110913”的字符串日期转换为“2011-09-13”的最快方法是什么?
What is the quickest way for converting a date which is a string with the format "20110913" to "2011-09-13" in Java.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用java.text.DateFormat:
Use
java.text.DateFormat
:我做了一些简单的分析并发现了一些有趣的结果。
通过上述几种方法,我运行了测试 3 次,结果(平均值)如下: -
测试是使用 JDK 7 运行的。请注意,这不是一个广泛的分析,因为有很多优化可以完成(例如缓存 SimpleDateFormat、StringBuilder)。此外,此测试不是多线程的。所以,请配置您自己的程序!
ps strcat 比 sb 快不是我所期望的。我想编译器优化在这里起着很大的作用。
I did some simple profiling and found some interesting results.
With the above few methods, I ran the test three times and the results(averaged) are as follow:-
The test is ran using JDK 7. Do take note that this is not an extensive profiling as there are a lot of optimization that can be done (e.g. caching the SimpleDateFormat, StringBuilder). Also, this test is not multithreaded. So, do profile your own program!
p.s. the strcat is faster than sb is not what I expected. I guess the compiler optimization plays a big role here.
使用 StringBuilder,附加子字符串,并在子字符串之间插入“-”字符。
Use a StringBuilder, append the substrings inserting '-' chars in between them.