【发布时间】:2011-09-06 21:00:13
【问题描述】:
当 Java 方法的签名具有原始双精度并且我传递的参数是 Ruby BigDecimal 时,尝试从 JRuby 调用 Java 对象上的方法时出现错误。那里是否有任何可能的隐式转换,或者是否必须明确处理。如果有任何区别,我将使用 send 调用 Java 对象的方法。
java_object.send :some_method, a_big_decimal
(这实际上可以在 Java 对象上调用具有不同类型签名的方法,所以我不必担心 BigDecimals,这就是为什么我想尽可能避免显式处理它)
我也试过
java_object.send :some_method, a_big_decimal.to_java
但这会产生不同的错误:
TypeError: cannot convert instance of class org.jruby.java.proxies.ConcreteJavaProxy to double
【问题讨论】:
标签: java ruby jruby bigdecimal