我正在使用red5 v0.9最新的svn版本。
函数appConnect(Iconnection conn,Object[] params)
提供了一个ObjectMap类型的数组。
我想将params [0]转换为我创建的ConnectParams类:
public class ConnectParams extends Object {
public Double toolkitVersion;
public String gameName;
public Integer userId;
public Integer challengeId;
}
当我尝试使用以下命令进行转换时: ConnectParams param =(ConnectParams)params [0];
我收到以下错误:
java.lang.ClassCastException: org.red5.io.utils.ObjectMap cannot be cast to com.xpogames.ConnectParams
在Flash方面,我对同一个类有相同的定义,我将其作为参数发送。
在red5 java方面,如果我打印params [0] .toString()我确实看到我发送的ConnectParams类中的所有键和值,这意味着我唯一缺少的是如何转换这个ObjectMap为相应的类类型。
答案 0 :(得分:1)
我通过将params [0]转换为hashmap并将其传递给我的类的构造函数来解决了这个问题, 在那个类中我使用.get()和.containsKey()来填充我的类:
ConnectParams param = new ConnectParams((HashMap<String,Object>)params[0]);