我在Eclipse项目上运行了FindBugs,并得到了一个潜在的错误警告,出于特定原因(不在此问题范围内),我想禁止这样做。这是代码:
public class LogItem {
private String name;
private void setName(final String nm) {
name = nm;
}
}
在此类上运行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;
}
当我这样做时,我在Eclipse中收到语法(编译)错误,说明:
局部变量nm重复;名称无法解析为类型。
因此,然后我尝试在字段本身上添加FindBugs的
SuppressWarnings
,但是在类上重新运行FindBugs之后,FindBugs仍然因为相同的原因而抱怨同一行代码。我什至尝试将SuppressWarnings
添加到setName
方法中,仍然没有区别。我如何(精确地!)使用此注释使FindBugs安静?!?
最佳答案
将注释放在字段上并修复错误标识符。这对我有用:
public class LogItem {
@edu.umd.cs.findbugs.annotations.SuppressWarnings("URF_UNREAD_FIELD")
private String name;