java - 简单日期格式

标签 java findbugs simpledateformat

我在类里面按照以下方式在我的应用程序中使用简单的日期格式:

static SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");

public static myFunction(final String strDate)
{
      Date endDate = null;
 endDate = MyClass.sdf.parse(strDate);
}

我正在使用 FindBugs,它在上面的代码中给出了以下错误:

“正如 JavaDoc 所述,DateFormats 对于多线程使用来说本质上是不安全的。检测器发现了对通过静态字段获得的 DateFormat 实例的调用。这看起来很可疑。”

谁能解释一下这个错误。我无法理解以上消息试图说明的内容。

感谢阅读!!

最佳答案

其他回答有关线程安全和从 SimpleDateFormat 之前删除静态关键字的人是正确的,尽管您随问题发布的代码根本不可编译。

我认为这更接近您正在寻找的代码:

public static Date parseDateStr(final String dateStr) throws ParseException
{
 SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
 return sdf.parse(dateStr);
}

关于java - 简单日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8426382/

相关文章:

java - 日历对象时区转换

java - MALICIOUS_CODE EI_EXPOSE_REP 中等

java - Gson:java.text.ParseException:无法解析的日期: "2018-04-09T09:00:00+02:00"

java - SimpleDateFormat 的线程安全问题

Java: boolean 值与null的逻辑运算

java - WebSphere Commerce : Controller Command vs. 任务命令?

java - FindBugs 找不到 org.apache.bcel.classfile.ClassFormatException

java - 强制 Maven 因非空违规而导致构建失败

java - 当标记为 PM 时无法解析个位数小时 - Java 8

java - 打印 Java 数组的最简单方法是什么?