此实例化有什么问题:
Map<String, String, HashMap<String,String>> map = new HashMap<String, String, HashMap<String,String>>();
答案 0 :(得分:21)
Map<K,V>
是从K
类型的键到类型V
的值的映射。地图只有2个类型参数。
您试图定义一个包含3个类型参数的地图;这是不可能的,与您在Map
内放置Map
这一事实无关。
Map<K1,Map<K2,V2>>
工作正常。
Map<X,Y,Z>
没有。
您可能需要Map< Pair<L,R>, Map<K,V> >
之类的内容。 Java没有通用的Pair<L,R>
类型,但请参阅下面的相关问题以获得解决方案。
对/元组:
Pair<L,R>
in Java? Pair<String, String>
stored in HashMap
not retrieving key->value properly 在嵌套地图上:
答案 1 :(得分:5)
地图只有2个类型参数,你有3个(在你的“外部”地图中)。
答案 2 :(得分:5)
Map接口(以及HashMap类)只需要2个泛型类型参数:一个用于键类型,另一个用于值类型。你提供3 ...
答案 3 :(得分:1)
如果您希望可以使用此类产品
Map<Object,Map<String,String>>
此对象可以是包含两个字符串的Class的对象。 希望这能解决你的问题。
Class Xyz {
String s1;
String s2;
}
Xyz的一个对象可以在上面的地图中用作关键字。