【问题标题】:Why does local simpleDateFormat cause bug为什么本地simpleDateFormat会导致错误
【发布时间】:2011-09-10 20:00:48
【问题描述】:

我刚刚开始使用 findbugs。 我有一个通常使用的静态 simpleDateFormat,findbugs 将其标记为错误。好的,我同意,在查看了 simpleDateFormat 上的参考资料之后。但是,我继续在以下几行中得到静态 java.text.DateFormat 错误

1) final SimpleDateFormat df = new SimpleDateFormat("MMM dd yyyy"); 2) final DateFormat df = new SimpleDateFormat("MMM dd yyyy");

我正在使用 eclipse,在我看来,即使代码已被修改,最初标记的错误仍然出现。

我还有另一个“已修复的错误”仍然显示为错误。我在没有覆盖 hashCode 的情况下实现了 equals。现在,我添加了 hashCode 方法,但继续收到一个错误,说当 equals 被覆盖时,hashCode 也必须被覆盖。

此外,一些最初的错误现在出现在评论行中,再次表明正在报告原始错误/位置。

如何清除 Eclipse 中的“错误”?

【问题讨论】:

    标签: java findbugs simpledateformat


    【解决方案1】:

    FindBugs 从编译的类文件中工作。清理,然后构建您的项目并再次在其上运行 FindBugs。

    【讨论】:

      【解决方案2】:

      1) final SimpleDateFormat df = new SimpleDateFormat("MMM dd yyyy"); 2) final DateFormat df = new SimpleDateFormat("MMM dd yyyy");

      我昨晚也遇到了同样的问题,呵呵。如果您在多线程时使用其中任何一个,它将崩溃。 SimpleDateFormat 不是线程安全的。因此,每次使用它们或同步它们时都要创建它们(这可能会减慢您的多线程代码。)

      如果您进入 FindBugs 透视模式,您可以查看有关为什么某事是错误的详细信息,并且有时会有有用的链接或解决方法。

      我正在使用 Eclipse,在我看来,这些错误是 即使代码已被标记,最初标记的仍然显示 修改。

      再次重新运行 findbugs。您所做的每一项更改都需要重新运行 FindBugs。

      如何清除 Eclipse 中的“错误”?

      右键单击您的项目 -> 查找错误 -> 清除错误标记。

      【讨论】:

        猜你喜欢
        • 2011-01-07
        • 1970-01-01
        • 2012-05-04
        • 2020-07-16
        • 2014-06-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多