结合多个@SuppressWarnings注释 - Eclipse Indigo

时间:2012-10-25 13:58:43

标签: java eclipse annotations eclipse-indigo suppress-warnings

所以问题是能够结合多个警告抑制,以便每个项目都不需要它自己的@SuppressWarnings注释。

例如:

public class Example
    public Example() {
        GO go = new GO();  // unused
        ....
        List<String> list = ( List<String> ) go.getList(); // unchecked
    }
    ...
    // getters/setters/other methods
}

现在我没有两个@SuppressWarnings,而是希望在课程级别有两个警告,所以这样:

@SuppressWarnings( "unused", "unchecked" )
public class Example
    public Example() {
        GO go = new GO();  // unused - suppressed
        ....
        List<String> list = ( List<String> ) go.getList(); // unchecked - suppressed
    }
    ...
    // getters/setters/other methods
}

但这不是一个有效的语法,有没有办法做到这一点?

2 个答案:

答案 0 :(得分:272)

使用以下内容: @SuppressWarnings({"unused", "unchecked"})

答案 1 :(得分:10)

如果您查看注释内部,您会看到:

public @interface SuppressWarnings {
    String[] value();
}

如您所见,参数是一个字符串数组... 所以注释中的参数可以是: value1,value2或value3 其中

final String[] value1 = { "a1" };
final String[] value2 = { "a1", "a2" };
final String[] value3 = { "a1", "a2", "a3" };

即:

@SuppressWarnings({"unused"})
@SuppressWarnings({"unused", "javadoc"})
你可以看到像

这样的东西
@SuppressWarnings("unused") 

这是一个特殊情况,允许一个元素没有“ {}