J'utilise JSON.SIMple pour générer une sortie JSON à partir de Java. Mais chaque fois que j'appelle jsonobj.put ("this", "ça"), je vois un avertissement dans Eclipse: P>
Sécurité type: la méthode Met (objet, objet) appartient au type de type brut. Les références au type générique HASHMAP doivent être paramétrées p> blockQuote>
La solution propre serait si JSONObject était généralisée, mais comme ce n'est pas le cas, je ne peux ajouter aucun paramètre de type générique pour résoudre ce problème. J'aimerais éteindre aussi peu d'avertissements que possible, d'ajouter "@suppresswarnings (" non cochéra ")" à de nombreuses méthodes est peu attrayant, mais j'ai une autre option en plus de la présentation des avertissements? P>
3 Réponses :
Vous pouvez avoir un paramètre de compilateur par projet et vous pouvez modifier ces avertissements à ignorer em>. p>
C'est encore plus extrême que d'ajouter @suppresswarnings ("non coché") aux méthodes pertinentes; Mon problème est que j'aimerais voir autant d'avertissements que possible tout en supprimant celui-ci.
Vous pouvez supprimer cet avertissement spécifique dans votre configuration du projet hérité. rien d'extrême à ce sujet.
C'est extrême parce que Son projet i> n'est pas un héritage, mais la bibliothèque qu'il fait référence. Votre suggestion est pour tout son projet de supprimer les avertissements.
Je ne pense pas que vous obteniez de tels avertissements pour le code que vous ne compilez pas. Mais si vous avez besoin de compiler ce code dans le cadre de votre projet, vous devrez effectivement utiliser des méthodes plus spécifiques. Cependant, je suggère de créer un pot de cette bibliothèque au lieu de la compilation de votre projet.
Omry: Je ne compile pas le code de JsonObject dans le cadre de mon code, j'y incluais par Maven. L'avertissement est dans mon code, qui n'est pas un code hérité. Le commentaire de KIP est correct. La solution acceptée aborde ma situation exactement - assurez-vous de voir comment cela le fait avant de la comparer à votre solution.
Écrivez des méthodes d'assistance ou des cours d'enveloppe pour la bibliothèque. Ajoutez le @suppresswarnings ("non coché") code> uniquement à ces aides. Utilisez ensuite les aides pour effectuer l'interaction avec la bibliothèque. P>
Cela semble être la meilleure solution jusqu'à présent, merci. Eclipse est juste tort de me prévenir de cela, n'est-ce pas? Ces erreurs doivent être dans le code JSONObject, pas mon code.
@Paul: Eclipse a raison, car c'est la façon dont il est spécifié pour Java. Vous obtenez l'avertissement, car vous utilisez une méthode brute à partir de HASHMAP (vous êtes obligé de le faire, car JSONObject s'étend Hashmap).
Voici une option. C'est un peu moche, mais vous permet de mettre en place l'avertissement supprimé uniquement à cette opération individuelle.
Ajoutez une fonction qui fait la coute non cochée et supprimez les avertissements sur celui-ci: P>
asMap(jsonobj).put("this", "that");
Dans Netbeans, qui retourne un autre ensemble d'avertissements pour moi:> Méthode privée Le PAMAP est déclaré final> Méthode privée Amap est déclarée statique