如何遍历散列映射(包含Person类型的对象)并在Person对象上调用方法?
我用过:
for(Iterator it = hashmap.entrySet().iterator(); is.hasNext();){
Person p = (Person)it.next();
p.doSomething();
}
但是当正在执行Person转换时,它表示该对象不能转换为Person对象(但它绝对是Person的子类型)。
java.util.HashMap $ Entry无法强制转换为Person。
编辑这是1.4!
答案 0 :(得分:4)
当您的迭代器将遍历Map.Entry个对象时,首先将它们作为这些类型提取出来:
Person p = (Person)((Map.Entry)it.next()).getValue();