Bonjour Messieurs,
J’ai un problème sur un programme java que je développe, en effet je chercher à faire une
J’ai une classe qui contient cette map :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Map<String, Map<String, List<Objet>>> root = new HashMap<String, Map<String,List<Objet>>>();
avec les getters et setters qui vont bien
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 public class KeyReference { String keylabel; Map<String, Map<String, List< Objet >>> root = new HashMap<String, Map<String,List<Objet>>>();
Et j’ai une method pour allez remplir cette map si cette Map contient déjà la clé alors on renvoie la list.
Le problème est quand j’appelle cette méthode :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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); }
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 ???
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 List<Objet> listobjet= keyReference.getrootByvalueAndLang(value, lang); listobjet.add(objet);
Pour mon code à 2 dimensions ca donne ca :
La je n’ai pas de NullPointerExeception je comprends plus trop … Si quelqu’un connais le problème ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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); }
Encore merci pour vos réponses.
Partager