【发布时间】:2019-07-25 11:44:44
【问题描述】:
我有一个休息网络服务,下面是我声明 DateFormat 的方式,因为这是我将在应用程序范围内使用的日期格式。
当我使用 SonarLint eclipse 插件进行代码分析时,我收到了主要警告“将 DATE_FORMAT 设为实例变量。”
public class Constants {
private Constants() {
}
public static final DateFormat DATE_TIME_FORMAT = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss:SSS");
}
谁能告诉我如果我在我的 REST API 中以这种方式使用它可能会遇到什么问题?
如果我将它用作实例变量,我最终会在多个类中声明它吗?
【问题讨论】:
-
拥有一个类来保存常量是反模式。你最终会在你的类中拥有这些彼此不相关的常量。
-
另外,DateFormat 是可变的,所以如果以多线程方式使用,可能会得到错误的结果。