javaの組み込みのJavaScriptインタープリタを使用すると、なぜArrays.forEach()を使用してJavaリストを反復処理できますが、ネイティブ配列では処理できませんか?私は、次のテストコードNashornで配列を反復する
私はa b c A B C
をプリントアウトすることを期待したい
var ArrayList = Java.type('java.util.ArrayList');
var list = new ArrayList();
list.add('a');
list.add('b');
list.add('c');
var StringArray = Java.type("java.lang.String[]");
var array = new StringArray(3);
array[0] = "A";
array[1] = "B";
array[2] = "C";
list.forEach(function(v) { print(v); });
array.forEach(function(v) { print(v); });
を持っていますが、(その代わり、私は、次の作品
a b c
TypeError: [Ljava.lang.String;@644e4fbf has no such function "forEach" in at line number 14
を得るが、なぜarray.forEachありません)?
for (var i=0; i<array.length; ++i)
print(array[i]);
私が持っている問題は、私のjavascriptのコードは[]の文字列を返すJava関数の負荷を呼び出すために望んでいることである、と私は定期的なjavascript配列であるかのように結果のオブジェクトに対処したいと思います。配列をArrayListに変換するJavaのラッパー関数のロードを記述するより簡単な方法がありますか?
Nashorn '(配列内のvar要素)構文の(非常に不幸なことに、私の意見では)'を使うことができます。 (最近のFirefoxでは、Mozillaの拡張機能を利用していると思います。 – Pointy