多次元の sun.org.mozilla.javascript.internal.NativeArray を対応する多次元の Java 配列に変換するにはどうすればよいですか?
var verA=4;
var verB= [1234.000000,456.000000,7899.000000,14200.000000];
var arrayC= [
[
["tmp/a111"],
["tmp/a222.png","tmp/a333.png"],
["tmp/a444","tmp/a555.png","tmp/a666.png","tmp/a777.png"]],
[
["tmp/b111.png"],
["tmp/b222","tmp/b333.png"],
["tmp/b444.png","tmp/b555.png","tmp/b666.png","tmp/b777.png"]]};
verA は変換できますが、verB と arraC を変換するのに苦労しています。これが私のコードです。
ScriptEngineManager scriptEngineManager = new ScriptEngineManager();
ScriptEngine scriptEngine = scriptEngineManager.getEngineByName("JavaScript");
scriptEngine.eval(javaScriptStringAbove);
Bindings bindings = scriptEngine.getBindings(ScriptContext.ENGINE_SCOPE);
System.out.println(bindings.keySet());// prints the ver names
Double verA = ((Double)bindings.get("verA")); // this works fine
Object verB[] = ((Object[])bindings.get("verB")); //error
Object verB[][][] = ((Object[])bindings.get("arrayC")); //error
このエラーが発生します
java.lang.ClassCastException: sun.org.mozilla.javascript.internal.NativeArray は [Ljava.lang.Object; にキャストできません。