嵌套类下面是我的代码:实现可迭代在Java
import java.util.List;
public class ItemList implements Iterable<Entry> {
private List<Entry> entries;
public static class Entry {
private final String id;
private int quantity;
}
@Overide public Iterator<Entry> iterator() {
return entries.iterator();
}
}
该代码将无法编译。 (它声称它无法在ItemList类定义中找到“Entry”类型)。
我希望其他类能够遍历此列表的内部条目。我宁愿不将Entry类移动到单独的文件中,因为这需要将该类的许多内部运作暴露给包中的所有其他类。
我的问题是:为什么不能编译?而且,解决这个问题的最好方法是什么?
如何使用ItemList? – 2012-07-09 16:37:01
试着让'Entry'类成为静态的。 – 2012-07-09 16:37:56
这种结构直观上没有意义。你正在实现一个私有类型的'Iterable'。外部类如何在不知道Entry的情况下使用你的ItemList? – Tudor 2012-07-09 16:40:39