我可以只创建一个静态的DateTimeFormatter实例吗

mun*_*ish 5 java java-8 java-time

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

public static final DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd");
Run Code Online (Sandbox Code Playgroud)

在这种情况下是否可能存在线程安全问题?

use*_*544 4

对的,这是可能的。您的变量是线程安全的,因为它是不可变的 - 没有其他线程可以更改它。对于您的具体情况,其他解决方案也是可能的,但我始终支持不可变对象。

看Java并发实践第三章。顺便说一句,这一章现在好像可以免费浏览了,看一下。