javascript – Java8 JS Nashorn将数组转换为Java数组

前端之家收集整理的这篇文章主要介绍了javascript – Java8 JS Nashorn将数组转换为Java数组前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何将JS数组转换为本地数组?
在Rhino转换看起来像( Scala代码):
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]

在Nashorn NativeArray中没有,我找不到有关转换的任何文档.

解决方法

从Java(和Scala),您还可以在jdk.nashorn.api.scripting.ScriptUtils类上调用convert方法.例如.来自Java:
import jdk.nashorn.api.scripting.ScriptUtils;
...
int[] iarr = (int[])ScriptUtils.convert(arr,int[].class)

我的Scala不太流利,但我相信是等同的:

val iarr = ScriptUtils.convert(arr,Array[Int]).asInstanceOf(Array[Int])

猜你在找的JavaScript相关文章