java - 将 Jruby HashMap 转换为 Java HashMap

标签 java hashmap jruby

我需要将 HashMap 从 jruby 函数传递到 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 的正确方法?

最佳答案

找了几个小时后,我发现了这个链接 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

关于java - 将 Jruby HashMap 转换为 Java HashMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18343643/

相关文章:

ruby - 使用 Ruby FTPS 进行加密传输

java - 用最少的迭代次数解决 Java 中的逻辑表达式

java - 在复合键和 @ManyToOne JoinColumns 之间共享列

java - HashMap 带有一个对象,后来称为 null 和 GC

java - 列表正在用最新值替换所有旧值

java - 如何保留文件中最长的行,同时保持它们出现的顺序?

java - JRuby 中的安全级别

java - 在 ruby​​ 中导入和使用 java 类

java - 为数组字段添加 setter 时 ActiveObjects 抛出异常

Java 类文件 JDK 版本