问题描述
|
Map testMap = new HashMap();
for(Map.Entry<String,Object> entry:testMap.entrySet()){
}
它具有错误提示:\“类型不匹配:无法从元素类型Object转换为Map.Entry \”
你能告诉我原因吗?
谢谢
解决方法
testMap
不是通用类型,因此testMap.entrySet
返回对象。
您可以像这样纠正它:
Map<String,Object> testMap = new HashMap<String,Object>();
for(Map.Entry<String,Object> entry:testMap.entrySet()){
}
, 也许您应该将testMap声明为
Map<String,Object>();
, 您的声明
Map testMap = new HashMap();
没有提到testMap.entrySet()应该是type6ѭ类型
解决方法是
Map<String,Object>();
Java6没有问题。
, 问题不在于for,而是与地图的声明有关,您不应使用原始类型。
Map testMap = new HashMap();
这更像
Map<Object,Object> testMap = new HashMap<Object,Object>();
而您正尝试将其强制转换为Map.Entry<String,Object>
。
您的解决方案是正确声明对象
Map<String,Object>();