我遇到了一个我创建的HashMap的问题。当我去检索&来自hashmap的迭代器,所以我可以迭代它,我得到一个异常抛出&我无法理解这个例外意味着什么?我如何解决我的错误。
例外是:
引起:java.lang.ClassCastException:java.util.HashMap $ KeyIterator无法强制转换为javassist.bytecode.Descriptor $ Iterator
在ContentTree.populateTree(ContentTree.java:39)
为什么抛出此异常,我的HashMap有问题?
我的代码是:
public void populateTree( Map <String, UpdatablePage> conMap )
{
content.removeAllChildren();
for ( Iterator it = (Iterator) conMap.keySet().iterator(); it.hasNext(); ) // LINE 39
{
Object pageKey = it.next();
答案 0 :(得分:2)
您是否导入了错误的Iterator类?也许是javassist.bytecode.Descriptor.Iterator?同样,你应该使用我在前一个帖子中提到的泛型迭代器。从运行时获取错误并处理它并在编译时修复它。
答案 1 :(得分:0)
请改为尝试:
for ( java.util.Iterator it = (java.util.Iterator) conMap.keySet().iterator(); it.hasNext(); )