Errores/Avisos

Indique las preferencias para los valores de Errores/Avisos en la página de preferencias Abre la página de preferencias Errores/Avisos Java > Compilador > Errores/Avisos.

Estilo de código

Opción

Descripción

Valor predeterminado

Acceso no estático a un miembro estático

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que se acceda a un campo o a un método estático con un receptor de expresión. Las referencias a un método estático deben estar calificadas por el nombre de un tipo.

Aviso

Acceso indirecto a un miembro estático

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que se acceda indirectamente a un campo o método estático. Los campos estáticos de una interfaz deben estar calificados por el nombre del tipo declarante.

Omitir

Acceso no calificado a campo de instancia

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que encuentre un acceso a campo que no esté calificado (por ejemplo, en el que falte 'this').

Omitir

Bloque vacío no documentado

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que encuentre una sentencia de bloque vacío sin ningún comentario explicativo.

Omitir

Acceso a un miembro no accesible de un tipo delimitador

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que emule el acceso a un miembro no accesible de un tipo delimitador. Tales accesos pueden tener implicaciones en el rendimiento.

Omitir

Método con nombre de constructor

Dar a un método el nombre de un constructor se considera generalmente como programación de estilo pobre. Si se habilita esta opción, el compilador indicará este caso como error o aviso.

Aviso

Asignación de parámetro

Asignar un valor a un parámetro se considera generalmente un estilo de programación pobre. Si se habilita esta opción, el compilador indicará este caso como error o aviso.

Omitir

Series no externalizadas

Si se habilita esta opción, el compilador emitirá un error o un aviso para los literales de tipo serie no externalizados (es decir, no señalados con el código //$NON-NLS-<n>$) o para los códigos de serie no externalizados que no pertenezcan a una serie.

Omitir

Problemas potenciales de programación

Clase serializable sin serialVersionUID

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que un tipo que implemente 'java.io.Serializable' no contenga un campo serialVersionUID.

Aviso

Asignación sin efecto (por ejemplo, 'x = x')

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que haya una asignación sin efecto (por ejemplo, 'x = x').

Aviso

Posible asignación booleana accidental (por ejemplo, 'if (a = b)')

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que encuentre una posible asignación booleana accidental (por ejemplo, 'if (a = b)').

Omitir

Sentencia 'finally' que no se completa con normalidad

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que haya una sentencia 'finally' que no se complete con normalidad (por ejemplo, que contenga una sentencia de retorno).

Aviso

Sentencia vacía

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que encuentre una sentencia vacía (por ejemplo, un punto y coma superfluo).

Omitir

Utilizar una matriz de tipo char en una concatenación de series

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que se utilice una expresión de tipo char[] en concatenaciones de series:

"hello" + new char[]{'w','o','r','l','d'}

Aviso

Bloques catch ocultos

Localmente con respecto a una sentencia try, algunos bloques catch pueden ocultar otros; por ejemplo:

try { throw new java.io.CharConversionException();
} catch (java.io.CharConversionException e) {
} catch (java.io.IOException e) {}.

Si se habilita esta opción, el compilador emitirá un error o un aviso para bloques catch ocultos que se correspondan con excepciones comprobadas.

Aviso

Coincidencia de tipos inexacta para argumentos vararg

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que encuentre una coincidencia de tipos inexacta para argumentos vararg.

Aviso

Conversiones de encaje y desencaje

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que encuentre una conversión de encaje o desencaje. El encaje automático puede afectar negativamente al rendimiento.

Omitir

Constante de tipo enum no cubierta en 'switch'

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que encuentre una sentencia switch que no contenga sentencias case para todas y cada una de las constantes de la enumeración a la que se hace referencia.

Omitir

Recorrido de casos 'switch'

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que encuentre un caso de conmutación sin una sentencia 'break'. Se permiten los casos de conmutación vacíos.

Omitir

Referencia nula

Si se habilita esta opción, el compilador emitirá un error o un aviso cuando encuentre que una variable local que puede ser nula está desreferenciada. Tenga en cuenta que el análisis es bastante conservador, solo tiene en cuenta los casos en los que hay algo sospechoso.

Omitir

Indefinición y conflictos de nombres

Declaración de campo que oculta otro campo o variable

Si se habilita esta opción, el compilador emitirá un error o un aviso si una declaración de campo oculta otro campo heredado.

Omitir

Declaración de variable local que oculta otro campo o variable

Si se habilita esta opción, el compilador emitirá un error o un aviso si una declaración de variable local oculta otro campo u otra variable.

Omitir

Incluir parámetros de constructor o método set

Si se habilita esta opción, el compilador emitirá adicionalmente un error o un aviso si un parámetro de constructor o de método set oculta otro campo u otra variable.

Desactivada

Parámetro de tipo que oculta otro tipo

Si se habilita esta opción, el compilador emitirá un error o un aviso si, por ejemplo, un parámetro de tipo de una clase interior oculta un tipo exterior.

Aviso

Métodos alterados temporalmente sin estar visibles en paquete

Un método predeterminado de un paquete no está visible en otro paquete y, por lo tanto, no se puede alterar temporalmente. Si se habilita esta opción, el compilador indicará este caso como error o aviso.

Aviso

El método de interfaz está en conflicto con el método de 'Object' protegido

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que una interfaz defina un método incompatible con un método de Object no heredado. Mientras no se resuelva este conflicto, una interfaz así no se puede implementar; por ejemplo,

interface I {
   int clone();
}

Aviso

API en desuso y restringida

API obsoleta

Si se habilita esta opción, el compilador indicará la utilización de una API obsoleta como error o aviso.

Aviso

Señalar el uso de API obsoleta dentro de código obsoleto

Si se habilita esta opción, el compilador indicará la utilización de una API obsoleta dentro de código obsoleto. La gravedad del problema se controla con la opción "API obsoleta".

Desactivada

Señalar alteración temporal o implementación de método obsoleto

Si se habilita esta opción, el compilador señalará la alteración temporal o la implementación de un método obsoleto. La gravedad de este problema se controla con la opción "API obsoleta".

Desactivada

Referencia prohibida (reglas de acceso)

Si se habilita esta opción, el compilador señalará una referencia prohibida especificada en las reglas de acceso.

Error

Referencia inconveniente (reglas de acceso)

Si se habilita esta opción, el compilador señalará una referencia inconveniente especificada en las reglas de acceso.

Aviso

Código innecesario

Variable local que nunca se lee

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que se declare una variable local que no se utilice nunca dentro de su ámbito.

Aviso

Parámetro que nunca se lee

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que se declare un parámetro que no se utilice nunca dentro de su ámbito.

Omitir

Comprobar métodos de alteración temporal o implementación

Si se habilita esta opción, el compilador emitirá adicionalmente un error o un aviso siempre que se declare un parámetro que no se utilice nunca dentro de su ámbito en métodos de alteración temporal o de implementación.

Desactivada

Importación no utilizada

Si se habilita esta opción, el compilador emitirá un error o un aviso para las referencias a importaciones no utilizadas.

Aviso

Miembros locales o privados no utilizados

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que se declare un método local o privado que no se utilice nunca dentro de la misma unidad.

Aviso

Sentencia else innecesaria

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que encuentre una sentencia else innecesaria (por ejemplo, if (condición) return; else hacerAlgo();).

Omitir

Operación de conversión de tipo o 'instanceof' innecesaria

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que encuentre una operación innecesaria de conversión de tipo o 'instanceof' (por ejemplo, if (object instanceof Object) return;).

Omitir

Declaración innecesaria de excepción lanzada comprobada

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que encuentre una declaración innecesaria de una excepción lanzada.

Omitir

Comprobar métodos de alteración temporal o implementación

Si se habilita esta opción, el compilador emitirá adicionalmente un error o un aviso siempre que encuentre una declaración innecesaria de una excepción lanzada en un método de alteración temporal o de implementación.

Desactivada

Etiqueta break/continue no utilizada

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que encuentre una etiqueta 'break' o 'continue' no utilizada.

Aviso

Tipos genéricos

Operación de tipo no comprobada

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que encuentre una operación de tipo genérico no comprobada.

Aviso

Utilización de un tipo puro.

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que encuentre una utilización de tipo puro (es decir, List en lugar de List<Serie>).

Omitir

Parámetro de tipo genérico declarado con límite de tipo final

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que encuentre un límite de tipo que implique un tipo final.

Aviso

Anotaciones

Anotación '@Override' ausente

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que encuentre un método que altere temporalmente a otro método implementado, pero falta la anotación '@Override'.

Omitir

Anotación '@Deprecated' ausente

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que encuentre un tipo en desuso sin la anotación '@Deprecated' adicional.

Omitir

Anotación utilizada como superinterfaz

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que encuentre un tipo que implemente una anotación. Aunque es posible, no conviene hacerlo.

Aviso

Símbolos de aviso de no manejado en '@SuppressWarnings'

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que encuentre un símbolo de aviso de no manejado en una anotación '@SuppressWarnings'.

Aviso

Habilitar anotaciones '@SuppressWarnings'

Si se habilita esta opción, el compilador procesará las anotaciones '@SuppressWarnings'.

Activada

Conceptos relacionados

Vista Problemas
Arreglo rápido
Constructor Java