java - 无法将 <Object, Map<Object, Object>> Map 转换为更具体类型的 Map

标签 java object dictionary casting

我正在尝试转换这样的 map :

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

pMap 已输入:

Map<Object, Map<Object, Object>> pMap

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

最佳答案

这是因为即使 IntegerObject 的子类型, Map<Integer, Integer>不是 Map<Object, Object> 的子类型。

你根本不能那样转换它。

这在Java Tutorials中有进一步解释。 .

关于java - 无法将 <Object, Map<Object, Object>> Map 转换为更具体类型的 Map,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13172306/

相关文章:

c++ - 在多重集中查找结构的语法 - C++

python - 字符串的映射特征是否有助于更快地解析字符串?

python - 字典中任意选择一个键,无需迭代

javascript - 如何使用变量访问对象属性

java - 子类构造函数中的默认值要传递给父类(super class)吗?

java - freemarker包括+base64

java - 如何针对特定情况重复 `try` block ?

Java - 使用扫描仪读取特定类型

java - SwingWorker - 相同的变量在 sysout 和 GUI 上显示不同的值

java - 为什么这个方法返回一个输出?