结合多个@SuppressWarnings注释 - Eclipse Indigo

kno*_*lya 140 java eclipse annotations suppress-warnings eclipse-indigo

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

例如:

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

现在@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
}
Run Code Online (Sandbox Code Playgroud)

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

LuG*_*uGo 288

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

  • 这将是一个数组,如`String [] value()`.列表在Java中没有特殊语法,但可以使用大括号定义数组. (8认同)

ΦXo*_*a ツ 13

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

public @interface SuppressWarnings {
    String[] value();
}
Run Code Online (Sandbox Code Playgroud)

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

final String[] value1 = { "a1" };
final String[] value2 = { "a1", "a2" };
final String[] value3 = { "a1", "a2", "a3" };
Run Code Online (Sandbox Code Playgroud)

即:

@SuppressWarnings({"unused"})
@SuppressWarnings({"unused", "javadoc"})
Run Code Online (Sandbox Code Playgroud)

你可以看到类似的东西

@SuppressWarnings("unused") 
Run Code Online (Sandbox Code Playgroud)

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