Erros/Avisos

Indique suas preferências para as configurações de Erros/Avisos na página de preferências Abre a página de preferências Erros/Avisos Java > Compilador > Erros/Aviso.

Estilo de Código

Opção

Descrição

Padrão

Acesso Não Estático a um Membro Estático

Quando ativado, o compilador emitirá um erro ou um aviso sempre que um campo ou método estático for acessado com um receptor de expressão. Uma referência a um membro estático deve ser qualificada com um nome de tipo.

Aviso

Acesso Indireto a um Membro Estático

Quando ativado, o compilador emitirá um erro ou um aviso sempre que um campo ou um método estático for acessado de modo indireto. Um campo estático de uma interface deve estar qualificado com o nome do tipo da declaração.

Ignorar

Acesso Não Qualificado a Campo de Instância

Quando ativado, o compilador emitirá um erro ou um aviso sempre que encontrar um acesso de campo que não está qualificado (por exemplo, não tem um 'this').

Ignorar

Bloco Vazio Não Documentado

Quando ativado, o compilador emitirá um erro ou um aviso sempre que encontrar uma instrução de bloco vazio sem comentário explicativo.

Ignorar

Acesso a um Membro Não Acessível de um Tipo Incluído

Quando ativado, o compilador emitirá um erro ou um aviso sempre que emular o acesso a um membro não acessível de um tipo de inclusão. Esses acessos podem ter implicações no desempenho.

Ignorar

Método com um Nome de Construtor

A nomeação de um método com um nome de construtor geralmente é considerado programação de estilo inadequado. Ao ativar esta opção, o compilador sinalizará esse cenário como erro ou aviso.

Aviso

Designação de Parâmetro

A designação de um valor a um parâmetro é geralmente considerada programação de estilo inadequado. Ao ativar esta opção, o compilador sinalizará esse cenário como erro ou aviso.

Ignorar

Cadeias Não Externalizadas

Quando ativado, o compilador emitirá um erro ou aviso para literal de Cadeia não externalizada (isto é, não sinalizado com //$NON-NLS-<n>$) ou para tags de Cadeia não externalizada que não pertencem a uma Cadeia.

Ignorar

Problemas Potenciais de Programação

Classe Seriável Sem serialVersionUID

Quando ativado, o compilador emitirá um erro ou um aviso sempre que um tipo que implementa 'java.io.Serializable' não contiver um campo serialVersionUID.

Aviso

Designação Sem Efeito (ex.,x = x')

Quando ativado, o compilador emitirá um erro ou um aviso sempre que uma designação não tiver nenhum efeito (ex. ').x = x').

Aviso

Possível Designação Booleana Acidental (ex. 'if (a = b)')

Quando ativado, o compilador emitirá um erro ou aviso sempre que encontrar uma possível designação booleana acidental (por exemplo, 'if (a = b)').

Ignorar

'finally' Não É Concluído Normalmente

Quando ativado, o compilador emitirá um erro ou um aviso sempre que uma instrução 'finally' não for concluída normalmente (por exemplo, contiver uma instrução de retorno).

Aviso

Instrução Vazia

Quando ativado, o compilador emitirá um erro ou um aviso sempre que encontrar uma instrução vazia (por exemplo, um ponto-e-vírgula supérfluo).

Ignorar

Utilizando uma Matriz de Caracteres em Concatenação de Cadeia

Quando ativado, o compilador emitirá um erro ou aviso sempre que uma expressão char[] for utilizada em concatenações de Cadeia,

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

Aviso

Blocos de Captura Ocultos

Localmente para uma instrução try, alguns blocos de captura podem ocultar outros, por exemplo,

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

Ao ativar esta opção, o compilador emitirá um erro ou um aviso para blocos de captura ocultos correspondentes a exceções verificadas.

Aviso

Correspondência de Tipo Inexato para Argumentos vararg:

Quando ativado, o compilador emitirá um erro ou um aviso sempre que encontrar uma declaração de uma correspondência de tipo exato para argumentos vararg.

Aviso

Conversões de Boxing e de Unboxing

Quando ativado, o compilador emitirá um erro ou um aviso sempre que encontrar uma conversão de boxing ou de unboxing. Autoboxing pode afetar o desempenho de forma negativa.

Ignorar

Constante de Tipo de Enum Não Abrangida em 'switch'

Quando ativado, o compilador emitirá um erro ou um aviso sempre que encontrar uma declaração switch que não contém instruções de caso para cada constante enum do enum referido.

Ignorar

Fall-through de Caso 'switch'

Quando ativado, o compilador emitirá um erro ou aviso sempre que encontrar um caso de comutador sem uma instrução 'break'. Casos de comutador vazio são permitidos.

Ignorar

Referência Nula

Quando ativado, o compilador emitirá um erro ou aviso sempre que constatar que um variável local que pode ser nula foi desreferenciada. Observe que a análise é um pouco conservadora, ela considera apenas os casos em que existe algo suspeito.

Ignorar

Shadow e Conflitos de Nome

Declaração de Campo Oculta Outro Campo ou Variável

Ao ativar esta opção, o compilador emitirá um erro ou um aviso se um campo ocultar outro campo herdado.

Ignorar

Declaração de Variável Local Oculta Outro Campo ou Variável

Ao ativar esta opção, o compilador emitirá um erro ou um aviso se uma declaração de variável local ocultar outro campo ou variável.

Ignorar

Incluir parâmetros de método construtor ou setter

Ao ativar esta opção, o compilador adicionalmente emitirá um erro ou um aviso se um método constructor ou setter ocultar outro campo ou variável.

Desativado

Parâmetro Tipo Oculta Outro Tipo

Ao ativar esta opção, o compilador emitirá um erro ou um aviso se, por exemplo, um parâmetro de tipo de uma classe interna ocultar um tipo externo.

Aviso

Métodos Substituídos mas Não Visíveis no Pacote

Um método padrão de pacote não é visível em um pacote diferente e, portanto, não pode ser substituído. Ao ativar esta opção, o compilador sinalizará esse cenário como erro ou aviso.

Aviso

Conflitos de Métodos da Interface com Método de 'Objeto' Protegido

Quando ativado, o compilador emitirá um erro ou aviso sempre que uma interface definir um método incompatível com um método método de Objeto não-herdado. Até que esse conflito seja resolvido, essa interface não pode ser implementada, ou seja

interface I {
   int clone();
}

Aviso

API Reprovada e Restrita

API Reprovada

Quando ativado, o compilador sinalizará o uso da API reprovada como erro ou aviso.

Aviso

Sinalizar o Uso de API Reprovada Dentro de Código Reprovado

Quando ativado, o compilador sinalizará o uso da API reprovada dentro do código reprovado. A gravidade do problema é controlada com a opção "API Reprovada".

Desativado

Sinalizar método reprovado de substituição ou implementação

Quando ativado, o compilador sinalizará a substituição ou implementação de um método reprovado. A gravidade do problema é controlada com a opção "API Reprovada".

Desativado

Referência Proibida (Regras de Acesso)

Quando ativado, o compilador sinalizará uma referência proibida especificada nas regras de acesso.

Erro

Referência Desencorajada (Regras de Acesso)

Quando ativado, o compilador sinalizará uma referência desencorajada especificada nas regras de acesso.

Aviso

Código Desnecessário

Variável Local Nunca É Lida

Quando ativado, o compilador emitirá um erro ou aviso sempre que uma variável local for declarado mas nunca utilizada dentro de seu escopo.

Aviso

Parâmetro Nunca É Lido

Quando ativado, o compilador emitirá um erro ou aviso sempre que um parâmetro for declarado mas nunca utilizado dentro de seu escopo.

Ignorar

Verificar métodos de substituição e implementação

Quando ativado, o compilador emitirá adicionalmente um erro ou aviso sempre que um parâmetro for declarado mas nunca utilizado dentro de seu escopo ao substituir ou implementar métodos.

Desativado

Importação não utilizada

Quando ativado, o compilador emitirá um erro ou um aviso para referência de importação não utilizada.

Aviso

Membros Locais ou Privados Não Utilizados

Quando ativado, o compilador emitirá um erro ou um aviso sempre que um membro local ou privado for declarado mas nunca utilizado dentro da mesma unidade.

Aviso

Instrução Else Desnecessária

Quando ativado, o compilador emitirá um erro ou um aviso sempre que encontrar uma instrução else desnecessária (por exemplo, if (condition) return; else doSomething();).

Ignorar

Operação de Coerção ou 'instanceof' Desnecessária

Quando ativado, o compilador emitirá um erro ou um aviso sempre que encontrar uma operação de coerção ou de 'instanceof' desnecessária (por exemplo, if (object instanceof Object) return;).

Ignorar

Declaração Desnecessária de Exceção Verificada Lançada

Quando ativado, o compilador emitirá um erro ou um aviso sempre que encontrar uma declaração de uma exceção lançada desnecessária.

Ignorar

Verificar métodos de substituição e implementação

Quando ativado, o compilador adicionalmente emitirá um erro ou um aviso sempre que encontrar uma declaração de uma exceção lançada desnecessária em um método de substituição ou de implementação.

Desativado

Rótulo de Interrupção/Continuação Não Utilizado

Quando ativado, o compilador emitirá um erro ou aviso sempre que encontrar um rótulo de 'interrupção' ou 'continuação' não utilizado.

Aviso

Tipos Genéricos

Operação de Tipo Genérico Não Verificada

Quando ativado, o compilador emitirá um erro ou um aviso sempre que encontrar uma declaração de uma operação de tipo genérico não verificada.

Aviso

Uso de um Tipo Bruto

Quando ativado, o compilador emitirá um erro ou aviso sempre que encontrar um uso de um tipo bruto (isto é, List em vez de List<String>).

Ignorar

Parâmetro de Tipo Genérico Utilizado com uma Ligação de Tipo Final:

Quando ativado, o compilador emitirá um erro ou um aviso sempre que encontrar um ligação de tipo envolvendo um tipo final.

Aviso

Anotações

Anotação de '@Override' Ausente

Quando ativado, o compilador emitirá um erro ou um aviso sempre que encontrar um método substituindo outro método implementado e a anotação @Override estiver ausente.

Ignorar

Anotação '@Deprecated' Ausente

Quando ativado, o compilador emitirá um erro ou um aviso sempre que encontrar um tipo reprovado sem anotação @Deprecated adicional.

Ignorar

Anotação Utilizada Como uma Superinterface:

Quando ativado, o compilador emitirá um erro ou um aviso sempre que encontrar um tipo que implementa uma anotação. Embora possível, essa não é considerada uma boa prática.

Aviso

Tokens de Aviso Não Identificados em '@SuppressWarnings':

Quando ativado, o compilador emitirá um erro ou um aviso sempre que encontrar um token de aviso não identificado em uma anotação @SuppressWarnings.

Aviso

Ativar anotações '@SuppressWarnings'

Quando ativado, o compilador processará anotações '@SuppressWarning'.

Ativado

Conceitos Relacionados

Visualização Problemas
Correção Rápida
Construtor Java