Qu'est-ce que la liste de validité @SuppressWarnings avertissement noms en Java?
Qu'est-ce que la liste de validité @SuppressWarnings
avertissement noms en Java?
Le peu qui vient entre le ("")
dans @SuppressWarnings("")
.
- Cette question est vraiment sympa et les réponses sont utiles. Si quelqu'un de la JCP la regarde, vous devez comprendre comment salissant il est à ajouter supprimer un avertissement. Il n'y a pas de convention sur les cas, trait d'union, à dos de chameau cas, c'est juste un simple désordre, il serait beau de normaliser ce.
- Je vois
"ProhibitedExceptionDeclared"
au sein d'Eclipse Collections Cadre (org.eclipse.collections.impl.block.function.checked.ThrowingFunction
), et qui n'est pas répertorié ci-dessous.
Vous devez vous connecter pour publier un commentaire.
Cela dépend de votre IDE ou le compilateur.
Ici est un liste pour Eclipse Galileo:
Liste pour Indigo ajoute:
Liste pour Juno ajoute:
Kepler et Luna utiliser la même liste que Juno (liste).
D'autres seront similaires, mais varient.
void foo( Object o ) { boolean b; if ( ( b = o == null ) ) o = new Object(); o.toString(); }
. Certains environnements (par exemple, NetBeans 7.3 w/ Java JDK 6 [1.6.0_41]) permettra de générer de"o possibly null"
à lao.toString()
appeler, même sio
ne peut pas être nul à ce point.semicolon
ne semble pas fonctionner dans luna? 🙁 Quelqu'un peut-il vérifier sisemicolon
est bien valide?Toutes les valeurs sont autorisées (non reconnus autres sont ignorés). La liste des personnes reconnues par le compilateur spécifique.
Dans La Java Des Tutoriels
unchecked
etdeprecation
sont répertoriés comme les deux avertissements requis par Le Langage Java Spécification, par conséquent, ils devraient être valable avec tous les compilateurs:Les sections spécifiques à l'intérieur de La Spécification Du Langage Java où elles sont définies n'est pas cohérente entre les versions. Dans le Java SE 8 Spécification
unchecked
etdeprecation
sont répertoriés comme des avertissements du compilateur dans les sections 9.6.4.5. @SuppressWarnings et 9.6.4.6 @Deprecated, respectivement.Pour le compilateur de Sun, l'exécution de
javac -X
donne une liste de toutes les valeurs reconnues par cette version. Pour 1.5.0_17, la liste semble être:La liste est compilateur spécifique. Mais ici sont les valeurs prises en charge dans Eclipse:
Sun JDK (1.6) est plus courte liste de prise en charge des mises en garde:
La dernière javac (1.6.0_13) pour mac sont les suivantes prises en charge mises en garde
Un nouveau favori pour moi, c'est
@SuppressWarnings("WeakerAccess")
à l'Ide, ce qui l'empêche de se plaindre quand il pense que vous devriez avoir une plus faible modificateur d'accès que vous utilisez. Nous avons pour le public, d'avoir accès à certaines méthodes pour prendre en charge les tests et la@VisibleForTesting
annotation n'empêche pas les avertissements.ETA:
"Anonyme", a commenté, sur la page @MattCampbell liés à, la suite incroyablement utile remarque:
Et ce qui semble être une liste beaucoup plus complète, où j'ai trouvé des avertissements spécifiques à Android-Studio que je ne pouvais pas trouver ailleurs (p. ex. SynchronizeOnNonFinalField)
https://jazzy.id.au/2008/10/30/list_of_suppresswarnings_arguments.html
Oh, maintenant SI les lignes directrices du contraddict AFIN de restrictions.
D'une part, je suis censé copie de la liste plutôt que de fournir seulement le lien.
Mais d'un autre côté, ce serait dépasser le nombre maximal de caractères. Donc espérons que le lien ne se cassera pas.
JSL 1.7
La documentation Oracle mentionne:
unchecked
: Décoché les avertissements sont identifiés par la chaîne "unchecked".deprecation
: Un compilateur de Java doit produire un warning de dépréciation lorsqu'un type, méthode, champ, ou le constructeur dont la déclaration est annoté avec l'annotation @Deprecated est utilisé (c'est à dire substituée, invoquée, ou référencé par son nom), à moins que: [...] L'utilisation est au sein d'une entité qui est annoté pour supprimer l'avertissement avec l'annotation @SuppressWarnings("retrait"); ouIl explique ensuite que les implémentations peuvent ajouter et le document qui leur est propre:
unchecked
est le seul approuvé par la norme; la prochaine section de celui que vous avez cité, dit la dépréciation mises en garde ne doivent pas être produits lors de "L'emploi est au sein d'une entité qui est annoté pour supprimer l'avertissement avec l'annotation@SuppressWarnings("deprecation")
"Je veux juste ajouter qu'il y a une liste de base de l'Ide, supprimer les paramètres à: https://gist.github.com/vegaasen/157fbc6dce8545b7f12c
Il a l'air assez complet. Partielle:
J'ai remarqué que
//noinspection
peut être auto-généré dans IntelliJ@SuppressWarninigs
avant la déclaration//noinspection
en frappant Alt+Entrée quand vous avez l'alerte sélectionnée, puis utiliser le la touche flèche droite pour voir la Supprimer pour ... optionFini ici quand j'ai voulu supprimer un "switch a trop peu de cas des étiquettes d'avertissement" à partir de l'Ide. Je n'ai pas trouvé une Liste complète pour IntelliJ est
@SuppressWarning
soutien, mais//noinspection
a fait le tour pour moi.Si vous utilisez SonarLint,
essayez au-dessus de la méthode de classe ou les calmars entiers de la chaîne:
@SuppressWarnings("squid:S1172")