【初心者】Java質問・相談スレッド116【歓迎】at TECH
【初心者】Java質問・相談スレッド116【歓迎】 - 暇つぶし2ch773:デフォルトの名無しさん
08/07/01 02:43:47
イテレータとコレクションに関する質問です.

クラスHogeCollectionはgetFoos()でiteratorを返すのですが,

HogeCollection h = new HogeCollection();
h.add( new Foo() );

for(Iterator<Foo> it = h.getFoos(); it.hasNext(); ){
 Foo f = it.next();
}

h.getFoo()の部分で
"型の安全性:型Iteratorの式は、未検査の型変換を使用して
Iterator<Foo>に準拠するようにする必要があります。"
という警告がでます.

かといって
HogeCollection<Foo> h = new HogeCollection<Foo>();
とすると
"型HogeCollectionは総称ではありません。引数<Foo>でパラメータ化できません。"
とエラーになります.

LinkedList<E>クラスのときはできました.

LinkedList<Integer> l = new LinkedList<Integer>();
l.add(1);
for (Iterator<Integer> it = l.iterator(); it.hasNext();)
 System.out.println(it.next());

HogeCollectionの場合,どうすれば正しい構文になるのでしょうか.
Eclipse, JavaSE6です.


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch