因为在初始化HashMap时使用泛型是一个很好的做法,所以下面的初始化工作正常:
Map<String,String> x = new HashMap<String,String>();
为什么在初始化嵌套的HashMaps时出现类型不匹配错误:
Map<String,Map<String,String>> y = new HashMap<String,HashMap<String,String>>();
答案 0 :(得分:1)
声明存在问题请用以下行代替上述声明。
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>>();