FindBugs 在我的代码中发现了潜在的错误。但这不是一个错误。
是否可以将此事件标记为“不是错误”并将其从错误列表中删除?
我已经非常清楚地记录了为什么每种情况都不是错误。
例如。类实现类似的接口。它有compareTo方法。然而,我没有重写 equals 方法。
FindBugs 不喜欢这样,因为 JavaDocs 指出建议这样做
(x.compareTo(y)==0) == (x.equals(y))
尽管就我而言,上述条件始终是正确的。
除了使用过滤器之外,您还可以使用抑制警告 http://findbugs.sourceforge.net/api/edu/umd/cs/findbugs/annotations/SuppressWarnings.html注解。您必须使用 findbugs 包中的注释,这意味着您要么需要导入,要么使用它的完全限定名称。这是因为除了抑制警告 http://java.sun.com/javase/6/docs/api/java/lang/SuppressWarnings.html从 JDK 开始,它保留了“Class”,这是必需的,因为 findbugs 在编译的字节码而不是源代码上运行。
Example:
@edu.umd.cs.findbugs.annotations.SuppressWarnings(
value="EQ_COMPARETO_USE_OBJECT_EQUALS",
justification="because I know better")
在一种极端情况下,您可能不应该使用注释:如果您的代码是最终放在 jar 中的库代码,则可以由其他项目使用and你还在使用Java5。其原因是一个bug https://bugs.java.com/bugdatabase/view_bug?bug_id=6365854在 JDK 中,如果注释不在类路径中,javac 就会崩溃。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)