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