嵌套類下面是我的代碼:實現可迭代在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