red5 v0.9:从 org.red5.io.utils.ObjectMap 转换为类

发布于 2024-08-19 10:58:57 字数 754 浏览 6 评论 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 参数 = (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 转换为适当的班级类型。

I'm using red5 v0.9 latest svn version.

the function appConnect(Iconnection conn,Object[] params)

provides an array of type ObjectMap.

i would like to convert params[0] to the ConnectParams class that i created:

public class ConnectParams extends Object {

    public Double toolkitVersion;
    public String gameName;
    public Integer userId;
    public Integer challengeId;

}

When i try to convert using the following command:
ConnectParams param = (ConnectParams)params[0];

i get the following error:

java.lang.ClassCastException: org.red5.io.utils.ObjectMap cannot be cast to com.xpogames.ConnectParams

on the Flash side i have the same definition of that same class and i'm sending it as a parameter.

on the red5 java side, if i print params[0].toString() i do see all the keys and values from the ConnectParams class that i sent, which means that the only thing i'm missing is how to convert this ObjectMap to the appropriate class type.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

沧笙踏歌 2024-08-26 10:58:57

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

ConnectParams param = new ConnectParams((HashMap<String,Object>)params[0]);

I resolved the issue by casting params[0] to a hashmap and passing it to my class's constructor,
in that class i use .get() and .containsKey() in order to populate my class:

ConnectParams param = new ConnectParams((HashMap<String,Object>)params[0]);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文