“Catalog”是一个存储“Item”对象集合的类。为此,我选择使用 List 集合。所以它看起来像:
public class Catalog {
List<Item> itemList;
主类必须能够使用 for 循环访问 Item 元素,该 for 循环将 Catalog 对象视为集合本身。假设有一个名为“catalog:”的 Catalog 对象
for (Item items : catalog) {
//various operations involving item
}
问题:我收到不兼容类型错误。
found: java.lang.Object
requird: Item
我的 Catalog 类实现了 Iterable,并且有一个方法 iterator(),它返回 List 的迭代器:
public Iterator iterator() {
Iterator itr = itemList.iterator();
return itr;
}
那么我做错了什么?
最佳答案
Catalog
需要实现Iterable<Item>
及其 iterator()
方法需要返回Iterator<Item>
.
关于Java迭代问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6378733/