Vishwa Ratna:
Je comprends que la double initialisation du corset a son propre coût caché, est toujours là un moyen possible d'initialiser Map<String,Map<String,String>>()
.
Qu'est-ce que j'ai essayé:
Map<String, Map<String, String>> defaultSourceCode = new HashMap<String, Map<String, String>>(){
{"a",new HashMap<String, String>(){{"c","d"}}}
};
Je sais que c'est une mauvaise pratique, mais comme pour l'expérience que je suis l'essayer.
Référence et motivation: Arrays.asList aussi pour les cartes?
Andronicus:
Presque tout va bien, il vous suffit d'utiliser les appels de méthode dans des accolades doubles:
Map<String, Map<String, String>> defaultSourceCode = new HashMap<String, Map<String, String>>(){
{put("a",new HashMap<String, String>(){{put("c","d");}});}
};
Mais cette réponse décrit, pourquoi vous ne devriez pas faire cela.