Entonces, el problema es poder combinar múltiples supresiones de advertencia para que cada elemento no necesite su propio @SuppressWarnings
anotación.
Así por ejemplo:
public class Example
public Example() {
GO go = new GO(); // unused
....
List<String> list = ( List<String> ) go.getList(); // unchecked
}
...
// getters/setters/other methods
}
Ahora en lugar de tener dos @SuppressWarnings
Quiero tener uno a nivel de clase para esas dos advertencias, así:
@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
}
Pero esa no es una sintaxis válida, ¿hay alguna forma de hacerlo?
Usa lo siguiente:
@SuppressWarnings({"unused", "unchecked"})
-
¿Es esta la convención normal para todas las anotaciones en Eclipse?
– conocida asilya
25 de octubre de 2012 a las 14:16
-
No. Esto es para un parámetro de lista. Cuando se utiliza un SDK para ejecutar Eclipse (o cuando se adjuntan las fuentes de Java), simplemente puede presionar F3 en cualquier anotación para ver su declaración de fuente, y así también ver cuántos (y cuáles) parámetros necesita.
– Bananeweizen
25 de octubre de 2012 a las 14:24
-
Eso sería una matriz, como en
String[] value()
. Las listas no tienen una sintaxis especial en Java, pero las matrices se pueden definir usando llaves.-Maarten Bodewes
5 de agosto de 2014 a las 15:40
ΦXocę 웃 Пepeúpa ツ
Si echas un vistazo dentro de la anotación, verás esto:
public @interface SuppressWarnings {
String[] value();
}
como ves, el valor el parámetro es una matriz de cadenas… por lo que el parámetro en la anotación puede ser:
valor1, valor2 o valor3 dónde
final String[] value1 = { "a1" };
final String[] value2 = { "a1", "a2" };
final String[] value3 = { "a1", "a2", "a3" };
es decir:
@SuppressWarnings({"unused"})
@SuppressWarnings({"unused", "javadoc"})
a menudo puedes ver algo como
@SuppressWarnings("unused")
y este es un caso particular que permite un elemento sin “{ }“
@SuppressWarnings( “sin usar”, “sin marcar”) no funciona, modifíquelo a @SuppressWarnings( { “sin usar”, “sin marcar” })
– Raj
24 de marzo de 2017 a las 16:08