Iterator错误返回类型java

时间:2017-08-31 09:12:27

标签: java generics iterator

我在实现默认迭代器时遇到了问题。我的代码看起来像这样:

import java.util.Iterator;


public class ProductIterator implements Iterator<Product> {

    private int index = 0;

    public boolean hasNext() {
        if (index < Product.getAllProducts().size()) {
            return true;
        } else {
            return false;
        }
    }

    public Product next() {
        if (hasNext()) {
            return Product.getAllProducts().get(index++);
        } else {
            return null;
        }
    }
}

文档说:Iterator处理元素E,而next()方法返回E

但是当我在代码中调用它时:

for (Iterator prodIter = getIterator(); prodIter.hasNext();) {
    Product product = prodIter.next();
    ...
}

我遇到了错误:

error: incompatible types: Object cannot be converted to Product

我对此有点困惑,因为shure应该返回Product对象。

有谁知道为什么不是?

解决

将所有原始类型更改为特定帮助 谢谢@Thomas

0 个答案:

没有答案