[java] erreur unchecked call to put

karine -  
 karine -
Bonjour,

je vous file mon code et l'erreur à la compilation.
Je comprends pas trop ce qu'il veut le compilateur.

public void ajouter_dans_keywords (String word) {

  try {      
  TreeMap keywords = new java.util.TreeMap();
  String tmpstr = word.toLowerCase(); 
   
	if (!keywords.containsKey(word)){
		keywords.put(word,1);      // Adding the new word with an occurrence value of 1.
	}
	else{
		// Increase the number of occurrence of the word in the keywords list
		Integer v = (Integer) keywords.get(word);
		keywords.remove(word);
		keywords.put(word,v.intValue()+1);
	}
     
  } catch (Exception e){System.err.println(e);}
               
} // !ajouter_dans_keywords


et voici l'erreur (ou plutot le warning):
Sources/Interpreteur.java:132: warning: [unchecked] unchecked call to put(K,V) as a member of the raw type java.util.TreeMap
keywords.put(word,1); // Adding the new word with an occurrence value of 1.
^
Sources/Interpreteur.java:138: warning: [unchecked] unchecked call to put(K,V) as a member of the raw type java.util.TreeMap
keywords.put(word,v.intValue()+1);

Est-ce que quelqu'un a déjà rencontré ce genre de problème ?

Merci

5 réponses

  1. karine
     
    J'ai cherché sur Internet.
    J'ai vu que cette erreur voulait dire qu'il fallait utiliser des generics avec cette classe TreeMap.

    Mais c'est quoi des generics ???
    0
  2. karine
     
    Merci pour ta reponse,

    le new integer ne change rien. Sinon dans ton lien j'ai retrouvé la syntaxe des generics, du genre Treemap <K><V>

    J'y comprends rien !!

    Sinon mon truc c'était pour compter le nombre d'occurences de chaque mot dans une liste de mots.

    Je peux peut etre le faire avec les tables de hachage mais pareil j'en ai jamais fait en java.

    Est-ce que quelqu'un pourrait m'aider pour la syntaxe des tables de hachage ? Et s'il y a l'algo qui va avec, c'est pas de refus non plus !! ;-D
    0
  3. sam3000 Messages postés 1226 Statut Membre 144
     
    (quand a moi, je n'ai jamais utiliser java, j'y connais seulement quelues notions) mais je chercherais, si je trouve, je te ferais signe
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. karine
     
    J'ai trouvé la solution.

    Je la mets pour ceux que ça interresse.

    TreeMap<String,Integer> keywords = new java.util.TreeMap<String,Integer>();

    Voilou !
    A+
    0