Итератор на дженериках с «extends» - PullRequest
3 голосов
/ 13 января 2012
public class abc<X extends Z> implements Iterable<X>
{
    protected ArrayList<X> list;

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

Я получаю ошибку 'not find symbol' для метода итератораЯ, честно говоря, понятия не имею, почему.

1 Ответ

4 голосов
/ 13 января 2012

Вы должны дать точное сообщение об ошибке, но я предполагаю, что вам нужно импортировать класс Iterator (java.util.Iterator).

Кроме того, способ, которым вы объявили X, требует от васнекоторый другой класс с именем Z (X ограничен Z или подклассами Z).Это правда?Если это так, вы должны переименовать его, так как только параметры типа должны иметь односимвольные имена.Если это не так, и вы рассматриваете Z другой параметр типа, вам нужно будет объявить Z как параметр типа где-то.

...