1

我有一个代码,用于使用 queryPlatformAction 方法从玉中的 ams 中查找容器列表。在将 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

这两种类型的List不在同一个类层次结构中,因此不能相互转换,因此 a ClassCastException.

Jade.util.leap.List接口在 JADE 中用于提供一个集合,该集合在 JADEList的不同后端之间看起来相同,但实际上实现方式不同。在 Javadocs 中,ArrayList仅扩展了Object.

要解决此问题,请声明listOfPlatforms为 type jade.util.leap.List

于 2012-03-07T12:24:14.137 回答