[java] erreur unchecked call to put

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

  • Votes
  • Date
  • Date décroissante
  1. 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 ???
    1. 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
      1. (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
        1. 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+