按照这个答案,看来最好的选择是编写一个Javascript转换器函数,该函数使用Rhino的Java绑定功能将本机Javascript数组转换为Java数组。请注意,转换单个元素时,必须格外小心以使用正确的类型。
[编辑] 这是一个使用字符串数组的工作示例:
scriptEngine js = new scriptEngineManager().getEngineByName("Javascript");String ss[] = (String[]) js.eval( "(function() {" + " var a = java.lang.reflect.Array.newInstance(java.lang.String, 3);" + " a[0] = 'foo';" + " a[1] = 'bar';" + " a[2] = 'gah';" + " return a;" + "})()");System.out.println(Arrays.toString(ss)); // => [foo, bar, gah]


