java - 如何获取 Javascript 实现的接口(interface)的哈希码

标签 java javascript rhino

我有一个接口(interface),EventHandler (OSGi EventAdmin),带有一个方法handleEvent(Event)。

我有以下 Javascript 代码:

importPackage(org.osgi.service.event)

obj =
{
    handleEvent: function(event)
    {
        // some code
    }
};

handler = new EventHandler(obj);

service.registerHandler(handler, topic);

该代码由 Rhino 执行(更具体地说,Rhino 内置于 JRE6、JSR-223 规范中)。 service 是绑定(bind)到脚本上下文的 Java 对象,其中 registerHandler 首先在 Map 中查找处理程序。这会失败,因为 NativeObject“处理程序” 没有 hashCode() 方法。

NativeObject 缺少标准 Java 对象方法是否有原因?

有什么办法可以解决这个问题吗?

我使用的是 JRE6 (1.6R2) 附带的 Rhino。

最佳答案

您的代码并不完整,但 NativeObject 对我来说看起来更像是 JavaScript 对象。

关于java - 如何获取 Javascript 实现的接口(interface)的哈希码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7879024/

相关文章:

javascript - 如何缩写全名中的中间名

java - 插入多行 - java 准备好的语句失败

java - 脚本 java : import a class from an external file

javascript - Angular.js 路由有问题

java - 如何将 javaScript 函数传递给 Java 方法以充当回调 (Rhino)

java - 如何在 Java 中使用正则表达式匹配有效的操作序列

java - 什么模式与策略模式一起使用可以避免具体策略中的重复代码?

java - 实例化泛型 : new ArrayList<? >() 与 new ArrayList<List<?>>()

java - Spring MVC 设置中的配置问题

javascript - rails : hide/close a rendered partial through a button in that partial