Объединение нескольких аннотаций @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
}
но это не правильный синтаксис, есть ли способ сделать это?
2 ответа:
если вы посмотрите внутри аннотации вы увидите это:
public @interface SuppressWarnings { String[] value(); }
как видите,стоимостью параметр представляет собой массив строк... таким образом, параметр в аннотации может быть: значение1, значение2 и значение3 здесь
final String[] value1 = { "a1" }; final String[] value2 = { "a1", "a2" }; final String[] value3 = { "a1", "a2", "a3" };
т. е.:
@SuppressWarnings({"unused"}) @SuppressWarnings({"unused", "javadoc"})
вы можете часто увидеть что-то вроде
@SuppressWarnings("unused")
и это частный случай, позволяющий одному элементу wit no" { }"