Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何调用从Java获取二维字符串数组的Clojure函数?_Java_Clojure_Clojure Java Interop - Fatal编程技术网

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

如何调用从Java获取二维字符串数组的Clojure函数?,java,clojure,clojure-java-interop,Java,Clojure,Clojure Java Interop,基本上,这个问题说明了一切 当我在gen类中声明函数签名时,我应该为2D字符串数组设置什么类型 [myFunc [XXXX] ReturnType] 我应该为XXXX放什么 更新:根据@Mark Topolnik的建议,我正在尝试 #^{:static true} [myFunc [ ^"[[Ljava.lang.String;" ] clojure.lang.IFn] 在我的声明中,我得到了一个 java.lang.RuntimeException: Unmatched delimite

基本上,这个问题说明了一切

当我在gen类中声明函数签名时,我应该为2D字符串数组设置什么类型

[myFunc [XXXX] ReturnType]
我应该为XXXX放什么

更新:根据@Mark Topolnik的建议,我正在尝试

#^{:static true} [myFunc [ ^"[[Ljava.lang.String;" ] clojure.lang.IFn] 
在我的声明中,我得到了一个

java.lang.RuntimeException: Unmatched delimiter: ]
当我试图编译它时出现运行时异常


更新2:通过从上面的行中删除^。(这是在gen类中声明函数签名的上下文中,因此“^”可能是不必要的。)

多维数组类型在Clojure中没有直接支持,但您可以始终使用具有二进制类型名称的字符串。在您的情况下,如下所示:

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

相关:。因此,我猜
^“[[Ljava.lang.String”字符串将是唯一(丑陋的)方式。这不是数组的一个维度吗?初始开括号的数量指定数组的深度。谁知道
L
作为助记符代表什么,但它意味着“引用类型”并且需要类型的完全限定名称,以
结尾(我在评论中忘记了该名称)。@MarkoTopolnik,看起来您在评论中回答了问题。您不应该将其记录为正式答案,以便interstar可以接受吗?