我在 Eclipse 项目上运行 FindBugs 并收到一个潜在的错误警告,我想出于特定原因(在本问题的上下文之外)抑制该错误。这是代码:
public class LogItem {
private String name;
private void setName(final String nm) {
name = nm;
}
}
Run Code Online (Sandbox Code Playgroud)
当您在此类上运行 FindBugs 时,系统会向您发出有关name = nm赋值操作的警告,指出:Unread field: com.me.myorg.LogItem.name。
所以我尝试添加这个:
private void setName(final String nm) {
@edu.umd.cs.findbugs.annotations.SuppressWarnings(value = "NP", justification = "Because I can")
name = nm;
}
Run Code Online (Sandbox Code Playgroud)
当我这样做时,我在 Eclipse 中收到语法(编译)错误,指出:
重复的局部变量 nm;名称无法解析为类型。
因此,然后我尝试在字段本身上添加 FindBugs' SuppressWarnings,但在类上重新运行 FindBugs 后,FindBugs 仍然抱怨同一行代码并出于相同的原因。我什至尝试将其添加SuppressWarnings到setName方法中,但仍然没有区别。
我如何(确切地!)使用此注释来安静 FindBugs?!?