java - 我可以在 Rhino 中将 Javascript 数组作为通用集合传递吗?

标签 java javascript rhino

我希望能够将 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/

相关文章:

php - MySQL VARCHAR 字段或 PHP substr

javascript - 有什么方法可以使 javascript 中的嵌套回调代码更具可读性吗?

java - 编写java脚本: Create a class in a script file

java - 从 java 代码调用 javascript(jQuery/Envjs)

java - 如何从逗号拼接的数据库字符串中进行 SELECT - SQL

java - 应用程序关闭Android

javascript - 如何将函数 A 的返回对象作为参数传递给函数 B?

javascript - 犀牛的控制台输入功能?

java - 我可以在 Android 上的 javafx 中显示 google adwords (AdView)

java - 为什么要在公共(public) API 中包含未实现的方法,例如 Thread.destroy()?