【发布时间】:2014-12-01 14:54:25
【问题描述】:
基本上问题说明了一切。
当我在 gen-class 中声明函数签名时,我为二维字符串数组设置什么类型?
[myFunc [XXXX] ReturnType]
我要为 XXXX 放什么?
更新:按照@Mark Topolnik 的建议,我正在尝试
#^{:static true} [myFunc [ ^"[[Ljava.lang.String;" ] clojure.lang.IFn]
在我的声明中,我得到了一个
java.lang.RuntimeException: Unmatched delimiter: ]
当我尝试编译时出现运行时异常。
更新 2:通过从上面的行中删除 ^ 来修复。 (这是在 gen-class 中声明函数签名的上下文中,因此 ^ 可能是不必要的。)
【问题讨论】:
-
相关:stackoverflow.com/questions/3779876/how-to-type-hint。所以我猜
^"[[Ljava.lang.String" strings将是唯一(丑陋)的方式。 -
那不是一维数组吗?
-
初始开括号的数量指定数组的深度。
-
谁知道
L作为助记符代表什么,但它的意思是“引用类型”,并且需要跟随类型的完全限定名称,以;结尾(我忘了那个在我的评论中)。 -
@MarkoTopolnik,看起来你回答了 cmets 中的问题。不应该把它记录为官方答案,让interstar接受吗?
标签: java clojure clojure-java-interop