Maison >Java >javaDidacticiel >Pourquoi Javac avertit-il des opérations non contrôlées ou dangereuses en Java ?

Pourquoi Javac avertit-il des opérations non contrôlées ou dangereuses en Java ?

DDD
DDDoriginal
2024-12-27 18:26:14686parcourir

Why Does Javac Warn About Unchecked or Unsafe Operations in Java?

Pourquoi Javac émet-il l'avertissement « Utilise des opérations non vérifiées ou non sécurisées » ?

Lors de la compilation du code Java avec javac, les développeurs peuvent rencontrer l'avertissement :

javac Foo.java
Note: Foo.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

Cet avertissement indique que le compilateur a détecté des problèmes potentiels de sécurité de type dans le code.

Cause de l'avertissement :

L'avertissement peut survenir lors de l'utilisation de collections sans spécificateurs de type dans les versions Java 5 et ultérieures. Par exemple, utiliser Arraylist() au lieu de ArrayList() déclenchera cet avertissement. Cela suggère que le compilateur ne peut pas vérifier l'utilisation sécurisée de la collection en raison du manque d'informations de type générique.

Solution :

Pour éliminer l'avertissement, spécifiez le type d'objets à stocker dans la collection. Au lieu de :

List myList = new ArrayList();

Utilisez :

List<String> myList = new ArrayList<String>();

Cela clarifie le type attendu d'éléments dans la collection et permet au compilateur d'effectuer une vérification de type.

Inférence de type dans Java 7 :

À partir de Java 7, l'inférence de type peut être utilisée pour simplifier les instanciation. L'extrait de code suivant accomplit la même chose que l'exemple précédent :

List<String> myList = new ArrayList<>();

En tirant parti de l'inférence de type, le compilateur peut déduire le type générique du type des éléments ajoutés à la collection.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn