2013-08-20 114 views
2

我需要將jruby函數的hashmap傳遞給Java函數。我已經嘗試過這種方式,沒有運氣。將Jruby HashMap轉換爲Java HashMap

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?

+0

你是什麼意思「沒有運氣」嗎?有錯誤嗎? –

+0

當試圖通過「ID」鍵獲取值時,它會返回空值 –

回答

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 
+0

https://github.com/jruby/jruby/wiki/CallingJavaFromJRuby – slf