如何调用从Java获取二维数组字符串的Clojure函数?

基本上问题都说明了一切.

当我在gen-class中声明一个函数签名时,我为2D字符串数组添加了什么类型?

[myFunc [XXXX] ReturnType]

我为XXXX准备了什么?

更新:按照@Mark Topolnik的建议,我正在尝试

#^{:static true} [myFunc [ ^"[[Ljava.lang.String;" ] clojure.lang.IFn] 

在我的声明中,我回来了

java.lang.RuntimeException: Unmatched delimiter: ]

我尝试编译它时的运行时异常.

更新2:通过从上面的行中删除^来修复. (这是在gen-class中声明函数签名的上下文中,因此^可能是不必要的.)

最佳答案 多维数组类型在Clojure中没有直接支持,但您总是可以回退到使用具有二进制类型名称的String.在您的情况下,这将如下所示:

[myFunc ["[[Ljava.lang.String;"] ReturnType]
点赞