2014-03-19 208 views
0

我正在构建一个应用程序,它将根据日期本身和一些用户首选项以不同格式显示日期和时间。最终的结果是有大量的潜在格式。DateTimeFormatter和DateTimeFormatterBuilder成本

这些格式都比较容易在运行时编程打造,但有给每个需要的日期,而不是造就了一批静态DateTimeFormatter S和引用它们被显示时使用DateTimeFormatterBuilder建设新DateTimeFormatter任何显著成本?

+0

如果您每秒处理100,000个日期,或许它已经。如果你正在显示一个数据库中查询数据的表格,也许这并不重要...... –

+0

对不起,但是是通用的响应还是基于我提到的类的知识?我通常认为这样做很好,但我特别想知道'DateTimeFormatter'是否有很大的创建时间成本,或者是否有另一个原因,我不应该在飞行中创建它们。 – jgm

+1

仅仅从源代码中可以看出,即使它涉及很多类(但是如果它满足您的要求,您可以/应该进行配置),构建时间对于该对象来说可以忽略不计。一般来说(即使它很沉重),如果你不确定它是否是一个衡量的瓶颈,我会考虑微型优化。 –

回答

0

DateTimeFormatter是不可变的,也是线程安全的,所以对缓存实例或将它们存储在静态变量中是完全合理的。创建过程不是特别昂贵,但与所有对象分配一样,在紧密的循环中它可能变得非常昂贵。

相关问题