Объединение нескольких аннотаций @SuppressWarnings - 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
}

Теперь вместо двух @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
}

Но это не допустимый синтаксис, есть ли способ сделать это?

Ответ 1

Используйте следующее: @SuppressWarnings({"unused", "unchecked"})

Ответ 2

Если вы посмотрите в аннотацию, вы увидите следующее:

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") 

и это частный случай, позволяющий одному элементу wit no " {} "