fondo
Colegas tenían apendicitis aguda, postrado en la cama, para ayudar a desarrollar el proyecto, siempre encontraba @SuppressWarnings add ( "todos") en la clase. A primera vista muy familiar, a menudo en el marco de código abierto y código fuente de Primavera, a continuación, con el rendimiento más intuitiva es la palabra código de ortografía incompleta sin línea ondulada de color amarillo arriba. Con preguntas, decidí saber más sobre él ...
Los procesos cognitivos
SuppressWarning en reprimir ¿Qué quiere decir, no un último recurso en virtud de traducción Baidu Inglés, reprimir: supresión. Oh, por definición, suprimir la advertencia. Miré a los comentarios de código fuente, habló sobre cómo utilizar siguiente. Esta anotación se puede utilizar en casi cualquier lugar, clases, métodos, campos, parámetros, y así sucesivamente. Fuente de la siguiente manera:
@Target({TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE})
@Retention(RetentionPolicy.SOURCE)
public @interface SuppressWarnings{
String[] value();
}
复制代码
Cuando la advertencia periódico sugerencias, si existen, no sólo tiene que añadir en la capa más externa de la clase. Así que ya ves, mis colegas son perezosos. @SuppressWarning las notas @SuppressWarning más exteriores y las anotaciones de alcance articulación diana anotación @SuppressWarning interior interior. Notas fuente de la siguiente manera:
/**
* Indicates that the named compiler warnings should be suppressed in the
* annotated element (and in all program elements contained in the annotated
* element). Note that the set of warnings suppressed in a given element is
* a superset of the warnings suppressed in all containing elements. For
* example, if you annotate a class to suppress one warning and annotate a
* method to suppress another, both warnings will be suppressed in the method.
*
* <p>As a matter of style, programmers should always use this annotation
* on the most deeply nested element where it is effective. If you want to
* suppress a warning in a particular method, you should annotate that
* method rather than its class.
**/
复制代码
Por lo tanto, cómo usarlo, en línea buscar un poco, relleno con el valor apropiado corchetes como, por ejemplo: para manejar todas advertencia: @SuppressWarnings ( "todos"), o la eliminación de los métodos obsoletos @SuppressWarnings ( "desaprobación"); también o transformen @SuppressWarnings código sin control anormal ( "sin control"), código de ejemplo:
public class SuppressWarningDemo {
@SuppressWarnings("unchecked")
public void addItem(String item) {
List items = new ArrayList();
items.add(item);
@SuppressWarnings("unused")
int i = 0;
}
}
复制代码
También se puede escribir:
public class SuppressWarningDemo {
@SuppressWarnings(value = {"unchecked", "unused"})
public void addItem(String item) {
List items = new ArrayList();
items.add(item);
int i = 0;
}
}
复制代码
Por supuesto, si usted quiere sentir una pequeña escuela perezoso para aprender mis colegas que:
@SuppressWarnings("all")
public class SuppressWarningDemo {
public void addItem(String item) {
List items = new ArrayList();
items.add(item);
int i = 0;
}
}
复制代码
valor curiosa del valor es donde estaba la definición, que no había ningún proveedor que, en la documentación JDK ni, si el hermano mayor de paso, que pasó a conocer, por favor deje un mensaje que le informe. listas en línea algún valor el valor de uso común, a pesar de que la utilidad no es práctico, que copian de nuevo:
all to suppress all warnings
boxing to suppress warnings relative to boxing/unboxing operations
cast to suppress warnings relative to cast operations
dep-ann to suppress warnings relative to deprecated annotation
deprecation to suppress warnings relative to deprecation
fallthrough to suppress warnings relative to missing breaks in switch statements
finally to suppress warnings relative to finally block that don’t return
hiding to suppress warnings relative to locals that hide variable
incomplete-switch to suppress warnings relative to missing entries in a switch statement (enum case)
nls to suppress warnings relative to non-nls string literals
null to suppress warnings relative to null analysis
rawtypes to suppress warnings relative to un-specific types when using generics on class params
restriction to suppress warnings relative to usage of discouraged or forbidden references
serial to suppress warnings relative to missing serialVersionUID field for a serializable class
static-access to suppress warnings relative to incorrect static access
synthetic-access to suppress warnings relative to unoptimized access from inner classes
unchecked to suppress warnings relative to unchecked operations
unqualified-field-access to suppress warnings relative to field access unqualified
unused to suppress warnings relative to unused code
复制代码
resumen
El resumen diario primer día de escritura, la cantidad de escritura es muy mala, pero sería un buen comienzo, se adhieren salida, profundizar en la impresión del conocimiento, sino también en conectar el mundo. Bienvenido pasa a través de amigos instó enero.