如何获得Javascript实现接口的哈希码



我有一个接口,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是绑定到脚本上下文的Java对象,其中registerHandler首先在Map中查找处理程序。失败的原因是NativeObject "handler"没有hashCode()方法

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

解决这个问题的方法是什么?

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

你的代码不完整,但NativeObject看起来更像是一个JavaScript对象。

最新更新