在HashMap的初始化中键入不匹配错误<string,hashmap <string,string>&gt;

时间:2017-01-21 06:53:56

标签: java hashmap

因为在初始化HashMap时使用泛型是一个很好的做法,所以下面的初始化工作正常:

Map<String,String> x = new HashMap<String,String>();

为什么在初始化嵌套的HashMaps时出现类型不匹配错误:

Map<String,Map<String,String>> y = new HashMap<String,HashMap<String,String>>();

1 个答案:

答案 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>>();