1

queryPlatformAction メソッドを使用して、ams in jade からコンテナーのリストを見つけるためのコードがあります。最後に sop ステートメントを配置する際に、コンテナ ID を型キャストする際に問題が発生します。

     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());
       }

それは私に例外を投げています。

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

4

1 に答える 1

1

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

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

これを修正するlistOfPlatformsには、型であると宣言しますjade.util.leap.List

于 2012-03-07T12:24:14.137 に答える