【发布时间】:2026-01-26 03:40:01
【问题描述】:
我收到 Find Bugs 错误 - 调用静态 java.text.DateFormat 方法和 我不知道为什么在下面做这些事情不好/不建议这样做。
private static final Date TODAY = Calendar.getInstance().getTime();
private static final DateFormat yymmdd = new SimpleDateFormat("yyMMdd");
private String fileName = "file_" + yymmdd.format(TODAY);
【问题讨论】:
-
调用方法不谈,这段代码看起来确实有点可疑 -
TODAY将是一个恒定的一天,格式化程序是最终的非静态的? -
此外,TODAY 可能并不总是“今天”,例如,如果加载了此类,然后 JVM 一直运行到第二天 - 任何依赖 TODAY 为当天的逻辑都不会工作,除非您考虑到这种差异。
-
@Peter - 是的,每次运行都会重置程序。