Преобразование Jruby HashMap в Java 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 в хэш-карту java?


person Matthew Pautzke    schedule 20.08.2013    source источник
comment
Что значит не повезло? Есть ли ошибка?   -  person Daniel Kaplan    schedule 20.08.2013
comment
При попытке получить значение с помощью ключа ID он возвращает null   -  person Matthew Pautzke    schedule 20.08.2013


Ответы (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
person Matthew Pautzke    schedule 21.08.2013