2012-09-13 62 views
0

我希望能够将JavaScript数组传递给期望Collection的Java方法。看来真的是笨手笨脚写我可以通过一个Javascript数组作为Rhino中的通用集合吗?

var wrapper = new Packages.java.util.ArrayList(); 
wrapper.add("one"); 
wrapper.add("two"); 
// etc 
new MyJavaThing(wrapper); 

它的工作原理,但我在JS脚本获得从这么该死的冗长远。理想的情况是我刚刚打电话

new MyJavaThing(["one", "two"]); 

NativeArray没有实现Collection或任何其子接口。

+0

需要注意的是,Jython和JRuby都以我想要的方式处理,即数组到列表的转换是透明的。 – Coderer

回答

1

这不是我最喜欢的解决方案,但它可以使用

new MyJavaThing(java.util.Arrays.asList(["one","two"])); 

你仍然必须意识到你正在调用的东西是在Java世界,但至少这是一个合理的班轮。

相关问题