【发布时间】:2014-06-10 12:18:50
【问题描述】:
我正在编写一个递归函数,其目的是遍历 pList 文件。我的代码是
public static void HashMapper(Map lhm1) throws ParseException {
//Set<Object> set = jsonObject.keySet();
for (Object entry : lhm1.entrySet()) {
if(entry instanceof String)
{
System.out.println(entry.toString());
}
else
{
HashMapper((Map) ((Map) entry).keySet()); //getting Exception java.util.HashMap$HashMap Entry cannot be cast to java.util.Map
}
}
}
但是当我调用我的函数“HashMapper((Map) ((Map) entry).keySet());”时。我得到了一个例外
java.util.HashMap$HashMap 条目不能转换为 java.util.Map
我不知道如何调用我的函数以及如何将 Hashmap 条目转换为 Map
【问题讨论】:
-
是故意使用
Map而不是Map<Something>还是什么? -
(Map) entry).keySet() 实际上是一个集合。你的方法需要地图。所以它抛出异常
-
Map#entrySet 返回 Set of Map.Entry ...您不能将其转换为
Map。你想做什么? ...加上entry instanceof String永远不会因为同样的原因而成立。
标签: java recursion map hashmap plist