2

我需要将 jruby 函数中的 hashmap 传递给 Java 函数。我已经尝试过这种方式,但没有运气。

def rubyfunction
    clazz = com.package.clazz
    params = java.util.HashMap.new({:ID => 1})       
    clazz.javafunction(params)
end


public class clazz{
    public void javafunction(HashMap<String, Object> params){
        params.get("ID") //Gives back null
    }
}

有没有正确的方法将 jruby hashmap 转换为 java hashmap?

4

1 回答 1

1

找了几个小时后,我发现了这个链接https://kenai.com/projects/jruby/pages/CallingJavaFromJRuby

从那我修改了代码,现在可以按预期工作

def rubyfunction
    clazz = com.package.clazz
    params = java.util.HashMap.new()
    value = 1.to_java Java::int
    params.put("ID", value)
    clazz.javafunction(params)
end
于 2013-08-21T13:21:43.343 回答