TypeError:错误#1034:类型强制失败:无法将对象转换为数组

时间:2013-10-04 07:52:06

标签: java actionscript-3 flex red5 coercion

我在理解从发送对象,变量或从我的Red5 Java Server应用程序发送到AS3脚本时遇到问题。

我面临的问题是我在Java中写下了以下代码:

        ((IServiceCapableConnection) conn).invoke("say", params);

它在我的ActionScript中调用一个方法来调用"说"他的参数称为" params"。 到现在为止还挺好。

我的ActionScript看起来像:

        public function say(user:Array):void{
            var usr:Array = user  as UserVO;
            list.appendText(usr[0] + "\n");
        }

所以它得到了数组,但我无法使用它,它告诉我导致以下错误:

TypeError:错误#1034:类型强制失败:无法将Object @ 123b4a7f1转换为Array。

所以有人可以告诉我如何转换"这部分对吗?我看到一些关于序列化的文章,但没有得到问题。

1 个答案:

答案 0 :(得分:0)

UserVOArray不兼容:

 var usr:Array = user  as UserVO;

你可以试试这个:

 var usr:UserVO = user[0] as UserVO;// or similar in a for loop

如果你验证以下内容会很好:

<强>爪哇

package abc;
public class UserVO implements Serializable { .. }

<强> AS

[Bindable]
    [RemoteClass(alias="abc.UserVO")]
    public class UserVO 
    { .. }