Java 初始化HashMap

Java 初始化HashMap,java,hashmap,Java,Hashmap,因为在初始化HashMap时使用泛型是一种很好的做法,以下初始化工作正常: Map<String,String> x = new HashMap<String,String>(); 为什么在初始化嵌套哈希映射时出现类型不匹配错误: Map<String,Map<String,String>> y = new HashMap<String,HashMap<String,String>>(); 声明有问题,请将上面的声明替换

因为在初始化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>>
它完全符合类型。 当您指定的类型可能是完全相同的类型。而不是将您映射为使用HashMap

如果你想尝试其他东西,请尝试下面的行以及

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

像这样使用。Map y=新的HashMap;为什么需要/认为需要此数据结构?我使用此数据结构来概括SQL查询。