@SuppressWarnings: resolver el logotipo amarillo feo IDE

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.

Supongo que te gusta

Origin juejin.im/post/5e7b6e00e51d455c622a451e
Recomendado
Clasificación