【发布时间】:2018-10-10 06:20:03
【问题描述】:
我在以下代码中遇到错误:
Class ABC{
public <T extends Object> void process(Entity entity){
List<T> list = entity.getList();
Iterator<T> iterator = list.iterator();
while(iterator.hasNext()){
T currentItem = iterator.next();
processCurrentItem();
}
}
}
执行iterator.next()时的错误: java.util.LinkedHashMap 无法转换为 Object
我的问题是特定于我的用例的问题,还是我无法理解如何利用哈希图并将其转换为我选择的对象 ?
【问题讨论】:
-
请包含更多代码。我在您的代码中没有看到任何 HashMap(或 LinkedHashMap),也不清楚 T 的声明位置/方式。
-
请提供完整的错误堆栈跟踪。
-
@Eran 我正在使用的列表是 T 类型对象的列表,并且列表上的迭代器返回 LinkedHashMap 而不是 T 类型的元素。如果编辑没有,请告诉我没有帮助。
-
哪一行抛出异常?
-
您是否在某处导入了一个名为
Object的类?
标签: java list iterator generic-programming