2012-02-19 9 views
1

queryPlatformActionメソッドを使用してjadeのamsからコンテナのリストを検索するためのコードがあります。それは私に例外をスローしてjadeのコンテナIDの印刷中にjava.lang.ClassCastExceptionが発生しました

 Result result = (Result) content; 
    List listOfPlatforms = (List) result.getValue(); 
    Iterator iter = listOfPlatforms.iterator(); 
    while (iter.hasNext()) 
     { 
     ContainerID next = (ContainerID) iter.next(); 
     System.out.println(next.getID()); 
     } 

私は...最後にわいろ文を入れながら、コンテナIDを型キャストのための問題を取得しています。

例外は次のとおりです。java.lang.ClassCastException:jade.util.leap.ArrayList はjava.util.Listにキャストできません 助けてください。

+0

どのラインで例外が発生していますか? – Purushottam

答えて

1

Listの2つのタイプは、同じクラス階層にないため、お互いにキャストすることができないため、ClassCastExceptionです。

jade.util.leap.Listインターフェイスは、JADE内で使用され、Listコレクションを提供し、JADEのさまざまなバックエンド間では同じように見えますが、実際は異なって実装されています。 JavadocsからArrayListObjectまでしか拡張されていません。

これを修正するには、listOfPlatformsのタイプをjade.util.leap.Listと宣言します。

関連する問題