Findbugs Java忽略字段或行
是否可以对特定字段或行进行Findbugs停用注释,而不是停用所有包含方法的字段的整个检查Findbugs Java忽略字段或行,java,annotations,findbugs,Java,Annotations,Findbugs,是否可以对特定字段或行进行Findbugs停用注释,而不是停用所有包含方法的字段的整个检查 @edu.umd.cs.findbugs.annotations.SuppressFBWarnings(value="BEAN_SUPER_CALL_ON_OBJECT", justification = "I don't want to overwrite the method, but otherwise our equals check issues a warning") @Override pu
@edu.umd.cs.findbugs.annotations.SuppressFBWarnings(value="BEAN_SUPER_CALL_ON_OBJECT",
justification = "I don't want to overwrite the method, but otherwise our equals check issues a warning")
@Override
public boolean equals(final Object obj) {
// this should not be ignored
super.test(obj);
// this should be ignored
return super.equals(obj);
}
这行不通:
@edu.umd.cs.findbugs.annotations.SuppressFBWarnings(value="BEAN_SUPER_CALL_ON_OBJECT")
return super.equals(obj);
@edu.umd.cs.findbugs.annotations.SuppressFBWarnings(value="BEAN_SUPER_CALL_ON_OBJECT")
super.equals(obj);
此外,这也行不通:
@edu.umd.cs.findbugs.annotations.SuppressFBWarnings(value="BEAN_SUPER_CALL_ON_OBJECT")
return super.equals(obj);
@edu.umd.cs.findbugs.annotations.SuppressFBWarnings(value="BEAN_SUPER_CALL_ON_OBJECT")
super.equals(obj);
这是可行的,但仍然会弹出警告:
@edu.umd.cs.findbugs.annotations.SuppressFBWarnings(value="BEAN_SUPER_CALL_ON_OBJECT")
boolean ret_val = super.equals(obj);
return ret_val;
它可以用于字段,但不能用于单行代码。根据,可以将
@SuppressFBWarnings
注释应用于
[Target]类型、字段、方法、参数、构造函数、包
(在edu.umd.cs.findbugs.annotations
包中,@SuppressFBWarnings
和@SuppressWarnings
是等效的。)
如您所见,
LOCAL\u VARIABLE
和ANNOTATION\u TYPE
不在列表中。虽然注释上没有@Target
元素,但FindBugs在这两种情况下会忽略它。嗯,为什么要这样重写该方法?这只是一个简化的示例,大多数常见屏幕无法在屏幕xD上获取该方法的代码。这一个没有意义,但问题是相同的。