5

パブリッククラスC1は、Iterable {privateLinkedListlist;を実装します。public static class NC1 {...} ... x public Iterator iterator(){return list.iterator(); }}

しかし、日食は泣き言を言います(x-edラインで):

- The return type is incompatible with Iterable<NC1>.iterator()
- implements java.lang.Iterable<NC1>.iterator

どこに間違いがあるのか​​わかりません。誰かが助けることができますか?

4

2 に答える 2

9

NC1に変更する必要がありますC1.NC1。以下をコンパイルします。

import java.util.*;

public class C1 implements Iterable<C1.NC1> {
    private LinkedList<NC1> list;
    public static class NC1 {
    }

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

または、import static yourpackage.C1.NC1

于 2010-05-31T13:32:26.457 に答える
2

このコードは問題なくコンパイルされます。

public class C1 implements Iterable<NC1> {
    public static class NC1 {
    }

    private LinkedList<NC1> list;

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

、省略した部分にエラーがあるはずです

編集:

他の答えを見た後:

はい、自動インポートをオンにしているので、次の行が必要です。

import com.yourpackage.C1.NC1;
于 2010-05-31T13:34:11.653 に答える