【问题标题】:Iterator on generics with 'extends'具有“扩展”的泛型迭代器
【发布时间】:2023-04-08 10:15:01
【问题描述】:
public class abc<X extends Z> implements Iterable<X>
{
    protected ArrayList<X> list;

    public Iterator<X> iterator()
    {
        return list.iterator();
    }
}

迭代器方法出现“找不到符号”错误。老实说,我不知道为什么。

【问题讨论】:

  • 确切的错误信息是什么?
  • 请提供更多上下文信息
  • 我也不知道。你有自己的 ArrayList 类来覆盖核心类吗?

标签: java generics iterator


【解决方案1】:

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

您声明X 的方式还要求您有一些名为Z 的其他类(X 仅限于ZZ 的子类)。这是真的?如果是,您应该重命名它,因为只有类型参数应该有单字符名称。如果不是这样,并且您正在考虑使用另一个类型参数 Z,则需要在某处将 Z 声明为类型参数。

【讨论】:

  • 这不会导致“Iterator cannot be resolved to type”错误吗?
  • 其实你是 100% 正确的。我非常确定这个类,我不需要导入这个类!
  • 啊!浪费的时间不会回到我身边
猜你喜欢
  • 2018-12-03
  • 1970-01-01
  • 1970-01-01
  • 2010-09-05
  • 2015-03-22
  • 2016-10-15
  • 1970-01-01
  • 1970-01-01
  • 2012-03-08
相关资源
最近更新 更多