我正在使用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]);

09-25 20:21