Eclipse est de me donner un avertissement de la forme suivante:
Type safety: Unchecked cast from Object to HashMap<String, String>
C'est à partir d'un appel à une API que je n'ai aucun contrôle sur ce qui renvoie l'Objet:
HashMap<String, String> getItems(javax.servlet.http.HttpSession session) {
HashMap<String, String> theHash = (HashMap<String, String>)session.getAttribute("attributeKey");
return theHash;
}
Je voudrais éviter de l'Éclipse mises en garde, si possible, puisque théoriquement, ils indiquent au moins un potentiel problème de code. Je n'ai pas trouvé un bon moyen d'éliminer celui-ci encore, cependant. Je peux extraire de la seule ligne participent à une méthode par lui-même et ajouter @SuppressWarnings("unchecked") à cette méthode, ce qui limite l'impact d'avoir un bloc de code dans lequel je ignorer les avertissements. Toutes les meilleures options? Je ne veux pas faire ces avertissements dans Eclipse.
Avant que je suis venu pour le code, il est plus simple, mais toujours provoqué des avertissements:
HashMap getItems(javax.servlet.http.HttpSession session) {
HashMap theHash = (HashMap)session.getAttribute("attributeKey");
return theHash;
}
Le problème était ailleurs, lorsque vous avez essayé d'utiliser la table de hachage, vous obtiendrez des avertissements:
HashMap items = getItems(session);
items.put("this", "that");
Type safety: The method put(Object, Object) belongs to the raw type HashMap. References to generic type HashMap<K,V> should be parameterized.