2016-04-29 1 views
-1

Le code suivant:new ArrayList() en tant qu'argument d'une map.put() est une opération dangereuse?

for (String day:daysOfWeek) {classesData.put(day, new ArrayList());} 

me donne l'erreur suivante:

Note: ./com/myname/MyClass/MyClass1.java uses unchecked or unsafe operations.                 
Note: Recompile with -Xlint:unchecked for details. 

je devais commenter manuellement un grand nombre de lignes pour voir que le code était au-dessus avec une erreur. Je soupçonne que c'est à cause de classesData.put(day, new ArrayList());, plus précisément, new ArrayList(). Je commence new ArrayList() parce que je veux ajouter des choses dans le futur, maintenant maintenant. J'ajoute comme ceci:

classesData.get(trueDayName).add(hourData); 

(hourData est une carte)

parce classesData est la structure de données suivantes:

Map<String, List<Map<String, String>>> classesData = new HashMap<String, List<Map<String, String>> >(); 

Répondre

0

ArrayList en Java est un type générique et que vous êtes en omettant la génériques complètement et en l'utilisant comme raw type. Je ne suis pas certain, mais cela pourrait être la raison de votre problème.

Essayer: classesData.put(day, new ArrayList<Map<String, String>>());