Java Collection Map<String, Map<String,List<Object>>
Bonjour Messieurs,
J’ai un problème sur un programme java que je développe, en effet je chercher à faire une
Code:
1 2
|
Map<String, Map<String, List<Objet>>> root = new HashMap<String, Map<String,List<Objet>>>(); |
J’ai une classe qui contient cette map :
Code:
1 2 3
| public class KeyReference {
String keylabel;
Map<String, Map<String, List< Objet >>> root = new HashMap<String, Map<String,List<Objet>>>(); |
avec les getters et setters qui vont bien
Et j’ai une method pour allez remplir cette map si cette Map contient déjà la clé alors on renvoie la list.
Code:
1 2 3 4 5 6 7 8
| public List<Objet> getrootByvalueAndLang(String value,String lang){
if(!root.containsKey(value)){
root.put(value, new HashMap<String, List<Objet>>());
root.get(value).put(lang, new ArrayList<Objet>());
return root.get(value).get(lang);
}
return root.get(value).get(lang);
} |
Le problème est quand j’appelle cette méthode :
Code:
1 2 3
|
List<Objet> listobjet= keyReference.getrootByvalueAndLang(value, lang);
listobjet.add(objet); |
Sur la dernière ligne listobjet.add(objet); java.lang.NullPointerExceptionJe comprends pas trop pourquoi en faite car mon objet n’est pas null alors ca doit venir de ma méthode Mais quand je fais une map a seulement 2 dimension ca marche alors pourquoi quand je rajoute une liste dedans ca ne marche pas ???
Pour mon code à 2 dimensions ca donne ca :
Code:
1 2 3 4 5 6 7 8 9
| Public Map<String , Map<String, String>> root = new HashMap<String, Map<String,String >>();
public Map<String, String> getrootbyKey(String key){
if(!root.containsKey(key)){
root.put(key, new HashMap<String, String>());
return root.get(key);
}
return root.get(key);
} |
La je n’ai pas de NullPointerExeception je comprends plus trop … Si quelqu’un connais le problème ?
Encore merci pour vos réponses.