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

标签 java java-8 java-time

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

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

在这种情况下会不会存在线程安全问题?

最佳答案

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

参见 Java Concurrency in practice第3章。顺便说一句,该章节现在好像可以免费浏览了,你看看吧。

关于java - 我可以只创建一个 DateTimeFormatter 的静态实例吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48540562/

相关文章:

java - Freemarker 中的管道流问题

java - _(下划线)是保留关键字

java - 使用 @DateTimeFormat 的日期时间解析问题

java - 使用 twillo 应用程序使用 java 发送短信时出错

java - 用于从客户端 CLASSPATH 读取 .properties 文件的库 jar

Java EE 应用服务器 Hello World

Java流,创建自定义有状态操作

java - Łukasiewicz 谓词逻辑?

java - 对 Instant、ZonedDateTime 和 UTC 感到困惑

java - 将 java.time.temporal.Temporal 转换为 java.util.Date