Java8 JS犀牛转换数组Java数组 [英] Java8 JS Nashorn convert array to Java array
本文介绍了Java8 JS犀牛转换数组Java数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我如何转换JS数组机数组?
在犀牛转换看上去像(斯卡拉code):
How can I convert JS array to native array ? In Rhino conversion looked like (Scala code):
val eng = (new javax.script.ScriptEngineManager).getEngineByName("JavaScript")
val obj = eng.eval("[1,2,3,4]")
val arr = obj.asInstanceOf[sun.org.mozilla.javascript.internal.NativeArray]
在犀牛NativeArray缺席,我找不到任何转换文件。
In Nashorn NativeArray absent, and I can't find any documentation on conversion.
推荐答案
从Java(和Scala),你也可以调用转换
方法上的 jdk.nashorn.api.scripting.ScriptUtils
类。例如。从Java:
From Java (and Scala), you can also invoke convert
method on jdk.nashorn.api.scripting.ScriptUtils
class. E.g. from Java:
import jdk.nashorn.api.scripting.ScriptUtils;
...
int[] iarr = (int[])ScriptUtils.convert(arr, int[].class)
我的Scala是不是太流利,但我相信相当于是:
my Scala is not too fluent, but I believe the equivalent is:
val iarr = ScriptUtils.convert(arr, Array[Int]).asInstanceOf(Array[Int])
这篇关于Java8 JS犀牛转换数组Java数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文