Java8 JS犀牛转换数组Java数组 [英] Java8 JS Nashorn convert array to Java array

查看:367
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆