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

时间:2014-12-01 14:54:26

标签: java clojure clojure-java-interop

基本上问题都说明了。

当我在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中声明函数签名的上下文中,因此^可能是不必要的。)

1 个答案:

答案 0 :(得分:2)

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

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