因为使用泛型是初始化HashMap的好习惯,并且以下初始化工作正常:
Map<String,String> x = new HashMap<String,String>();
为什么我在初始化嵌套的哈希映射时出现类型不匹配错误:
Map<String,Map<String,String>> y = new HashMap<String,HashMap<String,String>>();
声明有问题,请将上面的声明替换为下面的行。
Map<String,HashMap<String,String>> y = new HashMap<String,HashMap<String,String>>();
如果你看例外,你会得到一个更好的主意。
Type mismatch: cannot convert from HashMap<String,HashMap<String,String>> to Map<String,Map<String,String>>
它与确切的类型匹配。当您给定的类型时,它可能是完全相同的类型。而不是Map<String,String>
你使用HashMap<String,String>
如果您想尝试另一件事,请尝试以下行。
Map<String,Map<String,String>> y = new HashMap<String,Map<String,String>>();