我希望能够将 JavaScript 数组传递给需要 Collection
的 Java 方法。写起来确实很笨拙
var wrapper = new Packages.java.util.ArrayList();
wrapper.add("one");
wrapper.add("two");
// etc
new MyJavaThing(wrapper);
它可以工作,但我正在用 JS 编写脚本,以避免如此冗长。理想情况下我只是打电话
new MyJavaThing(["one", "two"]);
但是NativeArray不实现Collection
或其任何子接口(interface)。
最佳答案
这不是我最喜欢的解决方案,但可以使用
new MyJavaThing(java.util.Arrays.asList(["one","two"]));
您仍然必须知道您所调用的东西是在 Java 世界中,但至少这是一个合理的俏皮话。
关于java - 我可以在 Rhino 中将 Javascript 数组作为通用集合传递吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12407137/