具有'extends'的泛型迭代器


public class abc<X extends Z> implements Iterable<X>
{
    protected ArrayList<X> list;
    public Iterator<X> iterator()
    {
        return list.iterator();
    }
}

我收到迭代器方法的"找不到符号"错误。老实说,我不知道为什么。

您应该

给出确切的错误消息,但我的猜测是您需要导入Iterator类(java.util.Iterator(。

此外,您声明X的方式要求您有一个名为 Z 的其他类(X仅限于ZZ或子类(。 这是真的吗? 如果是,则应将其重命名为只有类型参数应具有单字符名称。 如果不是 true,并且您正在考虑Z另一个类型参数,则需要在某处将Z声明为类型参数。

最新更新