我确实知道双括号初始化有其自身的隐性成本,但仍然存在一种初始化Map<String,Map<String,String>>()
的方法。
我尝试过的事情:
Map<String, Map<String, String>> defaultSourceCode = new HashMap<String, Map<String, String>>(){
{"a",new HashMap<String, String>(){{"c","d"}}}
};
我知道这是一个不好的做法,但至于实验,我正在尝试。
参考和动机: Arrays.asList also for maps?
答案 0 :(得分:5)
几乎一切都很好,您只需在大括号中使用方法调用即可:
Map<String, Map<String, String>> defaultSourceCode = new HashMap<String, Map<String, String>>(){
{put("a",new HashMap<String, String>(){{put("c","d");}});}
};
但是this answer描述了为什么不应该这样做。