Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法投射<;对象,映射<;对象,对象>&燃气轮机;映射到更具体的类型化映射_Java_Object_Map_Casting - Fatal编程技术网

Java 无法投射<;对象,映射<;对象,对象>&燃气轮机;映射到更具体的类型化映射

Java 无法投射<;对象,映射<;对象,对象>&燃气轮机;映射到更具体的类型化映射,java,object,map,casting,Java,Object,Map,Casting,我正试着投射一张这样的地图: Map<Integer, Map<String, String>> map = (HashMap<Integer, Map<String, String>>) pMap; Map<? super Object, ? super Object> Map= (HashMap)pMap; pMap类型为: Map<Object, Map<Object, Obj

我正试着投射一张这样的地图:

Map<Integer, Map<String, String>> map = 
                 (HashMap<Integer, Map<String, String>>) pMap;
Map<? super Object, ? super Object>
Map=
(HashMap)pMap;
pMap类型为:

Map<Object, Map<Object, Object>> pMap
映射pMap

不幸的是,它不起作用,我很想知道为什么,以及是否有可能避免这个问题

这是因为即使
整数
对象
的子类型,
映射
也不是
映射
的子类型

你根本不能这样做


这将在中进一步解释。

这是因为即使
整数
对象
的子类型,
映射
也不是
映射
的子类型

你根本不能这样做


这将在中作进一步解释。

我对泛型类不太熟悉,但您能试试Map吗
将整数替换为?它可以很容易地对整数进行装箱,正如您在上面所写的那样,这个键也可以是字符串,所以我希望它对您有用。

我对泛型类不太熟悉,但您能试试Map吗
将整数替换为?它将很容易地对整数进行装箱,正如您在上面所写的,这个键也可以是字符串,因此我希望它对您有用。

因此,以下是我为避免此问题所做的:

我按如下方式键入地图:

Map<Integer, Map<String, String>> map = 
                 (HashMap<Integer, Map<String, String>>) pMap;
Map<? super Object, ? super Object>

Map因此,以下是我为避免这个问题所做的:

我按如下方式键入地图:

Map<Integer, Map<String, String>> map = 
                 (HashMap<Integer, Map<String, String>>) pMap;
Map<? super Object, ? super Object>

MAPIP如果您确定pMap的键是整数,那么您可以为pMap使用以下类型…Map pMapWell这就是问题所在,有时我会使用字符串而不是整数作为键。然后您可以将“Map”的键也声明为Object,并在对键或值进行操作时执行强制转换。如果您确定pMap的键是整数,那么您可以对pMap使用以下类型…Map pMapWell这就是问题所在,有时我会使用字符串而不是整数作为键。然后您可以将“Map”的键声明为Object,在操作键或值的同时进行铸造。好的,谢谢。我想我必须找到另一种优雅的方式使它尽可能的通用。好的,谢谢。我想我必须找到另一种优雅的方式使它尽可能的通用。我尝试了
而不是
对象
,但它是一样的,演员是被禁止的。我所做的是通过迭代器投射,我不能直接投射贴图。谢谢你的回答。我试过使用
而不是
对象
,但都是一样的,演员是被禁止的。我所做的是通过迭代器投射,我不能直接投射贴图。谢谢你的回答。