2012-02-19 86 views
1

我有一个代码,用于使用queryPlatformAction方法从jade中的ams中找到容器的列表。我得到一个问题的类型转换容器ID,同时把SOP声明在结尾..尝试在玉器中打印容器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()); 
     } 

它抛出一个异常给我。

异常是:java.lang.ClassCastException:jade.util.leap.ArrayList不能将 转换为java.util.List 请大家帮忙。

+0

哪一行发生异常? – Purushottam 2012-02-20 09:57:34

回答

1

这两种类型的List不在相同的类层次结构,因此不能彼此之间被铸造,因此具有ClassCastException

在JADE中使用jade.util.leap.List接口来提供一个List集合,它在JADE的不同后端之间看起来相同,但实际上实现的方式不同。从Javadocs,ArrayList只延伸Object

为了解决这个问题,声明listOfPlatformsjade.util.leap.List类型。

相关问题