[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends] Re: [jfriends] 繰り返し処理




北村@xxxxxxxxxxです。

> /*
> 動くの確認
> for (Enumeration e = v.elements(); e.hasMoreElements(); ) {
>     StrucObj o = (StrucObj)e.nextElement();
>     System.out.println(o.getTopic());
> }
> */
> //こっちは動かない
> for(Iterator i = (Iterator)v.elements() ; i.hasNext() ;){
>     StrucObj o = (StrucObj)i.next();
>     System.out.println(o.getTopic());
> }
まず、動かない原因を自分で少し探るという努力が必要です。
どんな例外が出ていますか?
ClassCastExceptionなんてメッセージ出ていますよね。
それはどこで出ているのでしょうか?
調べましたか?
下の回答で動きますが、現状のものがなぜ動かないのか考え
ることを忘れないで下さいね。

Vectorクラスは、AbstractListクラスを継承していますよね。
AbstractListクラスは、Listインターフェイスを実装しています
ので、v.iterator()で Iteratorインターフェイスを取得できます。
Iteratorインターフェイスと Enumerationインターフェイスは全く
関連性はありません。
分かりますよね。

------------------- Network Solutions from Japan ---
   <S>< >  Yuji Kitamura  e-mail:kitamura@xxxxxxxxxx
<N><J>    phone:+81-3-3471-5701  fax:+81-3-3471-5710
--------------------------- http://www.nsj.co.jp/ ---