我是否只能创建一个DateTimeFormatter的静态实例

时间:2018-01-31 11:01:57

标签: java java-8 java-time

是否可以只创建一个DateTimeFormatter的静态实例并在项目的任何地方使用它,而不是多次创建它?

public static final DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd");

在这种情况下会出现线程安全问题吗?

1 个答案:

答案 0 :(得分:2)

是的,有可能。您的变量是线程安全的,因为它是不可变的 - 没有其他线程可以更改它。在您的特定情况下,其他解决方案也是可能的,但我总是支持不可变对象。

请参阅Java Concurrency in practice第3章。顺便说一句,该章似乎可以自由浏览,所以看看。