首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SuppressWarnings不工作于FindBugs

SuppressWarnings不工作于FindBugs
EN

Stack Overflow用户
提问于 2012-06-04 16:20:50
回答 2查看 15.2K关注 0票数 4

我在我的FindBugs项目上运行了,并得到了一个潜在的bug警告,我想为了一个特定的原因(在这个问题的上下文之外)来阻止它。下面是代码:

代码语言:javascript
复制
public class LogItem {
    private String name;

    private void setName(final String nm) {
        name = nm;
    }
}

在这个类上运行FindBugs时,会向您发出关于name = nm赋值操作的警告,说明:Unread field: com.me.myorg.LogItem.name

所以我试着加上这个:

代码语言:javascript
复制
    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安静?!?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-04 21:16:43

将注释放在字段上并修复错误标识符。这对我来说很管用:

代码语言:javascript
复制
public class LogItem {
    @edu.umd.cs.findbugs.annotations.SuppressWarnings("URF_UNREAD_FIELD")
    private String name;
票数 3
EN

Stack Overflow用户

发布于 2012-06-04 16:24:39

我一直使用内置的java.lang.SuppressWarnings,而不是FindBugs,而且到目前为止它还能工作。另外,对于特定的语句,您可能需要在注释之后将语句保持在同一行上。喜欢

代码语言:javascript
复制
    @SuppressWarnings("NP") name = nm;

另外,您确定"NP"在这里是一个有效的警告标识符吗?如果其他东西似乎没有用的话,我会尝试"unused"

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10884606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档