0

我正在使用 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 转换为适当的类类型。

4

1 回答 1

1

我通过将 params[0] 转换为 hashmap 并将其传递给我的类的构造函数解决了这个问题,在那个类中我使用 .get() 和 .containsKey() 来填充我的类:

ConnectParams param = new ConnectParams((HashMap<String,Object>)params[0]);
于 2010-01-24T10:31:42.577 回答