实现Java Iterable<;E>;接口

实现Java Iterable<;E>;接口,java,iterable,Java,Iterable,公共类C1实现了Iterable{ 私有链接列表; 公共静态类NC1{ ... } ... x公共迭代器迭代器(){ return list.iterator(); } } 但eclipse(在x-ed线上)哀鸣着: -返回类型与Iterable.iterator()不兼容 -实现java.lang.Iterable.iterator 我不明白错在哪里。有人能帮忙吗?您需要将NC1更改为C1.NC1。汇编如下: import java.util.*; public class C1 impl

公共类C1实现了Iterable{ 私有链接列表; 公共静态类NC1{ ... } ... x公共迭代器迭代器(){ return list.iterator(); } }

但eclipse(在x-ed线上)哀鸣着:

-返回类型与Iterable.iterator()不兼容
-实现java.lang.Iterable.iterator

我不明白错在哪里。有人能帮忙吗?

您需要将
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 java.util.*;
公共类C1实现了Iterable{
私有链接列表;
公共静态类NC1{
}
公共迭代器迭代器(){
return list.iterator();
}
}

或者,您可以
导入静态yourpackage.C1.NC1

此代码编译得很好:

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

    private LinkedList<NC1> list;

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

java/eclipse的哪个版本?eclipse不再抱怨aioobe的解决方案了。
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;