从jruby调用静态java方法,其中一个静态方法';s参数是一个java接口

从jruby调用静态java方法,其中一个静态方法';s参数是一个java接口,java,interface,jruby,Java,Interface,Jruby,我正在使用一个JavaAPI,它包含多个这种形式的重载函数 class Someclass… publicstaticafun(AInterface,java.lang.String[],java.lang.String[],double[]) publicstaticafun(AInterface,java.lang.String[],java.lang.String[],java.lang.String[]) 伪代码b/c我面前没有代码。现在,我试图从jruby调用这个函数。我的呼叫代码如下

我正在使用一个JavaAPI,它包含多个这种形式的重载函数

class Someclass…

publicstaticafun(AInterface,java.lang.String[],java.lang.String[],double[])

publicstaticafun(AInterface,java.lang.String[],java.lang.String[],java.lang.String[])

伪代码b/c我面前没有代码。现在,我试图从jruby调用这个函数。我的呼叫代码如下所示:

Someclass::fun(@b、[“foo”]、[“bar”]、[“baz”]、[“qux”]])

@b
A
的一个实例
A
实现
AInterface
接口

然而,我越来越


NameError:Java::mything::A上的参数(my.thing.A、org.jruby.RubyArray、org.jruby.RubyArray、org.jruby.RubyObject)没有“有趣”的方法
可用的重载:
(my.thing.AInterface,java.lang.String[],java.lang.String[],double[]
(my.thing.AInterface,java.lang.String[],java.lang.String[],java.lang.String[],java.lang.String[]))
...

将调用代码更改为:

Someclass::fun(@b,[[“foo”].[u-java(java.lang.String[]),[[“bar”].[u-java(java.lang.String[]),[[“baz”],[“qux”].[u-java(java.lang.String[])。


没有帮助。

按照创建实际的Java数组。@DaveNewton请查看我的回答。我认为问题与接口和重载有关,而与数组的类型无关。错误消息是否相同?你是如何创建你的A?