Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Red5将Actionscript 3数组转换为Java ArrayList_Java_Actionscript 3_Red5_Netconnection - Fatal编程技术网

使用Red5将Actionscript 3数组转换为Java ArrayList

使用Red5将Actionscript 3数组转换为Java ArrayList,java,actionscript-3,red5,netconnection,Java,Actionscript 3,Red5,Netconnection,我正在AS3中创建一个数组,并使用NetConnection将其发送到red5服务器,如下所示: var data:Array = new Array(); data.push("getTest"); NC.call("getUsers", new Responder(onSuccess, onFail), data); 在服务器端: public Object getUsers(Object[] params) { logger.warn("params = "+par

我正在AS3中创建一个数组,并使用NetConnection将其发送到red5服务器,如下所示:

var data:Array = new Array();

data.push("getTest");

NC.call("getUsers", new Responder(onSuccess, onFail), data);
在服务器端:

public Object getUsers(Object[] params) {

        logger.warn("params = "+params);
        logger.warn(params[0]);
        List<Object> u = (ArrayList<Object>)params[0];
        logger.warn(u.get(0));

        return params;
}
公共对象getUsers(对象[]参数){
logger.warn(“params=“+params”);
logger.warn(参数[0]);
列表u=(ArrayList)参数[0];
logger.warn(u.get(0));
返回参数;
}
然而,该行:

List<Object> u = (ArrayList<Object>)params[0];
List u=(ArrayList)参数[0];

Seams可能由于某些原因而失败。

我对Java不是很熟悉,但我认为在尝试传入一个参数数组时,AMFPHP也遇到了类似的远程处理问题,但没有将其作为服务器端的数组读取。我的解决方案是(在Actionscript中)使用这个方法。在您的情况下,它看起来像:

var data:Array = new Array();

data.push("getTest");

NC.call.apply(this, ["getUsers", new Responder(onSuccess, onFail)].concat(data));

也许也能为你工作?希望能有所帮助。

你也可以使用Flex中的AS3 Vector和ArrayCollection和Red5。不能说我知道“应用”,非常聪明