Erreurs/Avertissements

Indiquez vos préférences pour les paramètres Erreurs/Avertissements dans la page des préférences Ouvre la page des préférences Erreurs/Avertissements Java > Compilateur > Erreurs/Avertissements.

Style de code

Option

Description

Valeur par défaut

Accès non statique à un membre statique

Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement, chaque fois qu'une zone ou une méthode statique est accédée avec un récepteur d'expression. Une référence à un membre statique doit être qualifiée à l'aide d'un nom de type.

Avertissement

Accès indirect à un membre statique

Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement chaque fois qu'une méthode ou une zone statique est accédé(e) de manière indirecte. Une zone statique d'interface doit être qualifiée avec le nom du type de déclaration.

Ignorer

Accès non qualifié à une zone d'instance

Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement chaque fois qu'il rencontre un accès de zone non qualifié (auquel il manque, par exemple, un 'this').

Ignorer

Bloc vide non renseigné

Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement chaque fois qu'il rencontre une instruction de bloc vide dépourvue de commentaire explicatif.

Ignorer

Accéder à un membre inaccessible d'un type conteneur

Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement chaque fois qu'il émule l'accès à un membre inaccessible d'un type conteneur. Ces accès peuvent influer sur les performances.

Ignorer

Méthode portant le nom d'un constructeur

Le fait d'insérer un nom de constructeur dans une méthode est considéré habituellement comme mauvais. Lorsque cette option est activée, le compilateur signale ce scénario comme une erreur ou un avertissement.

Avertissement

Affectation de paramètres

En règle générale, affecter une valeur à un paramètre est déconseillé en programmation. Lorsque cette option est activée, le compilateur signale ce scénario comme une erreur ou un avertissement.

Ignorer

Chaînes non externalisées

Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement lié au littéral chaîne non externalisé (c'est-à-dire non balisé avec //$NON-NLS-<n>$) ou pour les balises de chaînes non externalisées n'appartenant pas à une chaîne.

Ignorer

Problèmes de programmation possibles

Classe sérialisable sans serialVersionUID

Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement chaque fois qu'un type implémentant 'java.io.Serializable' ne contient pas de zone serialVersionUID.

Avertissement

Affectation sans effet (par ex. 'x = x')

Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement à chaque fois qu'une affectation est sans effet (par ex. 'x = x').

Avertissement

Affectation booléenne accidentelle possible (par ex. 'if (a = b)')

Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement chaque fois qu'il rencontre une possible affectation booléenne accidentelle (par ex. 'if (a = b)').

Ignorer

'finally' ne se termine pas normalement

Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement chaque fois qu'une instruction 'finally' ne se termine pas normalement (si elle contient une instruction de retour, par ex.).

Avertissement

Instruction vide

Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement chaque fois qu'il rencontre une instruction vide (un point-virgule superflu, par ex.).

Ignorer

Utilisation d'un tableau char dans une concaténation de chaînes

Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement, chaque fois qu'une expression char[] est utilisée dans des concaténations de chaînes, par exemple :

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

Avertissement

Blocs catch masqués

En local avec une instruction try, certains blocs catch sont susceptibles d'en masquer d'autres, par exemple :

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

Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement pour les blocs catch masqués, qui correspondent à des exceptions contrôlées.

Avertissement

Correspondance de type inexacte pour les arguments vararg

Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement lorsqu'il rencontre une correspondance de type inexacte pour les arguments vararg.

Avertissement

Conversions boxing et unboxing

Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement chaque fois qu'il rencontre une conversion boxing ou unboxing. L'autoboxing est susceptible d'avoir une incidence négative sur les performances.

Ignorer

Constante de type énumération non couverte par 'switch'

Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement chaque fois qu'il rencontre une instruction switch ne contenant pas d'instructions case pour chaque constante enum de l'enum référencée.

Ignorer

Saut au bloc case 'switch'

Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement chaque fois qu'il rencontre un bloc 'case switch' sans instruction 'break'. Les blocs 'case switch' vides sont autorisés.

Ignorer

Référence Null

Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement chaque fois qu'il détecte qu'une variable locale pouvant avoir la valeur null est déréférencée. Cette analyse est plutôt classique, elle ne considère que les cas pour lesquels il y a un doute.

Ignorer

Duplication de noms et conflits

La déclaration de zone masque une autre zone ou variable

Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement si une déclaration de zone masque une autre zone héritée.

Ignorer

La déclaration de variable locale masque une autre zone ou variable

Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement si une déclaration de variable locale masque une autre zone ou une autre variable.

Ignorer

Inclure les paramètres du constructeur ou de la méthode d'accès set

Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement si un paramètre de constructeur ou un paramètre de méthode d'accès set masque une autre zone ou une autre variable.

Désactivé

Paramètre de type masquant un autre type

Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement si, par exemple, un paramètre de type d'une classe interne masque un type externe.

Avertissement

Méthodes remplacées mais aucun package visible

Une méthode de package par défaut n'est pas visible dans un package différent et ne peut donc pas être substituée. Lorsque cette option est activée, le compilateur signale ce scénario comme une erreur ou un avertissement.

Avertissement

Conflit entre la méthode de l'interface et la méthode 'Object' protégée

Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement, chaque fois qu'une interface définit une méthode incompatible avec une méthode d'objet non héritée. Tant que le conflit n'est pas résolu, une telle interface ne peut pas être implémentée, par exemple :

interface I {
int clone();
}

Avertissement

API dépréciée et restreinte

API dépréciée

Lorsque cette option est activée, le compilateur signale l'utilisation d'une API déconseillée comme une erreur ou un avertissement.

Avertissement

Signaler l'utilisation d'une API dépréciée dans un code obsolète

Lorsque cette option est activée, le compilateur signale l'utilisation d'une API dépréciée dans un code obsolète. La gravité du problème est contrôlée via l'option "API dépréciée".

Désactivé

Signaler l'utilisation d'une méthode de substitution ou d'implémentation dépréciée

Lorsque cette option est activée, le compilateur signale toute substitution ou implémentation d'une méthode dépréciée. La gravité du problème est contrôlée via l'option "API dépréciée".

Désactivé

Référence interdite (règles d'accès)

Lorsque cette option est activée, le compilateur signale toute référence interdite indiquée dans les règles d'accès.

Erreur

Référence déconseillée (règles d'accès)

Lorsque cette option est activée, le compilateur signale toute référence déconseillée indiquée dans les règles d'accès.

Avertissement

Code inutile

Variable locale jamais lue

Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement chaque fois qu'une variable locale est déclarée mais n'est jamais utilisée dans sa portée.

Avertissement

Paramètre jamais lu

Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement chaque fois qu'un paramètre est déclaré mais n'est jamais utilisé dans sa portée.

Ignorer

Vérifier les méthodes lors du remplacement et de l'implémentation

Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement chaque fois qu'un paramètre est déclaré mais n'est jamais utilisé dans sa portée dans des méthodes lors de leur remplacement ou de leur implémentation.

Désactivé

Importation inutilisée

Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement lié à une référence d'importation non utilisée.

Avertissement

Membres locaux ou privés inutilisés

Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement chaque fois qu'un membre local ou privé est déclaré mais n'est jamais utilisé dans la même unité.

Avertissement

Instruction else inutile

Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement chaque fois qu'il rencontre une instruction else inutile (par exemple : if (condition) return; else doSomething();).

Ignorer

Opération cast ou 'instanceof' inutile

Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement chaque fois qu'il rencontre une opération cast ou 'instanceof' inutile (par exemple : if (object instanceof Object) return;).

Ignorer

Déclaration inutile d'exception émise vérifiée

Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement chaque fois qu'il rencontre une déclaration inutile d'exception émise.

Ignorer

Vérifier les méthodes de substitution et d'implémentation

Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement chaque fois qu'il rencontre une déclaration inutile d'exception émise dans une méthode de substitution ou d'implémentation.

Désactivé

Intitulé break/continue inutilisé

Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement chaque fois qu'il rencontre un intitulé 'break' ou 'continue' inutilisé.

Avertissement

Types génériques

Opération de type générique non vérifiée

Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement chaque fois qu'il rencontre une opération de type générique non vérifiée.

Avertissement

Syntaxe d'un type brut

Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement chaque fois qu'il rencontre une syntaxe de type brut (c'est-à-dire List au lieu de List<String>).

Ignorer

Paramètre de type générique déclaré avec un type final lié

Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement chaque fois qu'il rencontre un type lié impliquant un type final.

Avertissement

Annotations

Annotation '@Override' manquante

Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement chaque fois qu'il rencontre une méthode remplaçant une autre méthode implémentée et que l'annotation '@Override' est manquante.

Ignorer

Annotation '@Deprecated' manquante

Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement chaque fois qu'il rencontre un type obsolète dépourvu d'annotation '@Deprecated' complémentaire.

Ignorer

Annotation utilisée comme super interface

Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement chaque fois qu'il rencontre un type implémentant une annotation. Bien que cette pratique soit possible, elle est considérée comme incorrecte.

Avertissement

Jetons d'avertissement non traités dans '@SuppressWarnings'

Lorsque cette option est activée, le compilateur émet une erreur ou un avertissement chaque fois qu'il rencontre un jeton d'avertissement non traité dans une annotation '@SuppressWarnings'.

Avertissement

Activer les annotations '@SuppressWarnings'

Lorsque cette option est activée, le compilateur traite les annotations '@SuppressWarnings'.

Activé

Concepts connexes

Vue Incidents
Correctif rapide
Compilateur Java