Map testMap = new HashMap();
for(Map.Entry<String, Object> entry:testMap.entrySet()){
}
它有错误提示:“类型不匹配:无法从元素类型Object转换为Map.Entry”
你能告诉我原因吗?
感谢
答案 0 :(得分:6)
testMap
不是通用类型,因此testMap.entrySet
会返回对象。
你可以这样纠正:
Map<String, Object> testMap = new HashMap<String, Object>();
for(Map.Entry<String, Object> entry:testMap.entrySet()){
}
答案 1 :(得分:6)
也许您应该将testMap声明为
Map<String, Object> testMap = new HashMap<String, Object>();
答案 2 :(得分:2)
您的声明
Map testMap = new HashMap();
没有提到testMap.entrySet()应该是<String, Object>
解决方案是
Map<String, Object> testMap = new HashMap<String, Object>();
Java6没有问题。
答案 3 :(得分:0)
问题不在于你的地图声明,你不应该使用raw types。
Map testMap = new HashMap();
这更像是
Map<Object,Object> testMap = new HashMap<Object,Object>();
并且您正尝试将其转换为Map.Entry<String, Object>
。
您的解决方案是正确声明对象
Map<String,Object> testMap = new HashMap<String,Object>();