Comment utiliser l'initialisation double croisillon pour carte de carte

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.

Je suppose que tu aimes

Origine http://43.154.161.224:23101/article/api/json?id=177287&siteId=1
conseillé
Classement