相关疑难解决方法(0)

SuppressWarnings 不适用于 FindBugs

我在 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 仍然抱怨同一行代码并出于相同的原因。我什至尝试将其添加SuppressWarningssetName方法中,但仍然没有区别。

我如何(确切地!)使用此注释来安静 FindBugs?!?

java annotations findbugs

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

annotations ×1

findbugs ×1

java ×1