Ответ 1
Используйте следующее: @SuppressWarnings({"unused", "unchecked"})
Таким образом, проблема заключается в том, чтобы комбинировать множественные подавления предупреждений, чтобы каждый элемент не нуждался в его собственной аннотации @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
}
Но это не допустимый синтаксис, есть ли способ сделать это?
Используйте следующее: @SuppressWarnings({"unused", "unchecked"})
Если вы посмотрите в аннотацию, вы увидите следующее:
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 " {} "