我编写了一个程序,我必须通过NodeJS程序将ArrayList
发送给Java代码。
java程序将ArrayList
作为响应发送回Nodejs
我能够将ArrayList
发送给Java,并进行操作
从java发回ArrayList
也工作正常,因为我使用了System.out.print
来验证。
问题在于接收Nodej中的ArrayList
下面是我编写的示例代码。 NodeJS在输出中仅打印"Item_2"
两次,而它应该打印"Item_1"
然后打印"Item_2"
。
var confList = java.newInstanceSync("java.util.ArrayList");
confList.addSync("Item_1");
confList.addSync("Item_2");
var dataList = java.newInstanceSync("java.util.ArrayList");
var javaApp = java.newInstanceSync("TestJava");
javaApp.getData(confList, function(err, ret)
{
if(err) {
console.log("getData method in Java failed" + err);
}
else {
dataList = ret;
var data = dataList.getSync(0);
console.log(data.toStringSync());
var data = dataList.getSync(1);
console.log(data.toStringSync());
}
});
Java代码:
public class TestJava
{
public ArrayList<String> getData(ArrayList<String> conf) throws Exception
{
ArrayList<String> list = new ArrayList<String>();
for(String val: conf)
{
val = //some modifications in conf;
list.add(val);
}
return list;
}
}