gpt4 book ai didi

java - 从 Ruby 调用一个 Java 方法,该方法采用带有 Ruby BigDecimal 的 Java 原语 double

转载 作者:太空宇宙 更新时间:2023-11-03 16:56:54 24 4
gpt4 key购买 nike

尝试从 JRuby 调用 Java 对象上的方法时,当 Java 方法的签名具有原始 double 且我传递的参数是 Ruby BigDecimal 时,我遇到错误。是否有任何可能存在的隐式转换,或者是否必须显式处理。如果有任何不同,我将使用 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

最佳答案

我只是在谷歌上搜索类似问题的解决方案,当我遇到这个问题时(在你发布它后仅 3 小时......该死的谷歌很快!)。

我最终能够通过这样做(相当于)解决我的问题:

java_object.some_method a_big_decimal.to_f

希望这对你有用?

关于java - 从 Ruby 调用一个 Java 方法,该方法采用带有 Ruby BigDecimal 的 Java 原语 double ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7326105/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com