これが私のコードです:
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 クラスを別のファイルに移動したくはありません。そのようにすると、そのクラスの内部動作の多くをパッケージ内の他のすべてのクラスに公開する必要があるからです。
私の質問は次のとおりです。なぜこれはコンパイルされないのですか? そして、この問題を回避する最善の方法は何ですか?