javascript - Nashorn:奇怪的包裹返回

标签 javascript java-8 nashorn

在 Java 的 Nashorn 引擎中,当你评估代码时,如果你这样做

var e = Packages.org.bukkit["event"]

e 将为空。

但是,我发现的一件事是,如果我这样做

var anothervar = Packages.org.bukkit.event
var e = Packages.org.bukkit["event"]

e(以及 anothervar)将是 org.bukkit.event 包。

为什么 Nashorn 有它,所以在我访问带有点表示法的包后,它会开始使用括号表示法?

最佳答案

根据我的观察,它是一个 Java 8 bug ,所以与此同时,一个骇人听闻的解决方法是用点符号评估包

例如

eval("Packages.org.bukkit."+"event.server"); //or whatever variable it may be

编辑

错误已修复,现在应该可以使用了。

关于javascript - Nashorn:奇怪的包裹返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21105184/

相关文章:

javascript - 如何操作 jQuery find 返回的元素上的文本?

java - 使用 java 8 在文件名和扩展名之间添加中缀

Java LongStream求和int数组元素

Javascript Nashorn 脚本模式 : how to write to file

java - 我可以在 war 中捆绑更新版本的 Nashorn 吗?

javascript - IFrame 突破

javascript - 事件捕获未按预期运行

java - 纳肖恩。绑定(bind) native Java 对象?

javascript - 如何在 nashorn 中转换 java 类?

javascript - 如何编写匹配任何字符串的正则表达式?