如果我在java中有一个字符串数组
例子
public static void main (String [] args)
{
int x = Integer.parseInt(args[2]);
}
clojure 中这段代码的等价物是什么?
如果我在java中有一个字符串数组
例子
public static void main (String [] args)
{
int x = Integer.parseInt(args[2]);
}
clojure 中这段代码的等价物是什么?
Clojure 可以直接调用 Java 方法,因此假设您的函数传递了一个字符串数组,您可以这样做:
(defn my-parse [args]
(Integer/parseInt (aget args 2)))
注意事项:
aget
是一个从 Java 数组中获取元素的函数。(ClassName/methodName ...)
用于调用 Clojure 中的 Java 静态方法还值得注意的是,Clojure 实际上可以解构Java 数组。所以你也可以这样做:
(defn my-parse [[s0 s1 s2 & more-strings]]
(Integer/parseInt s2))
在此代码中,s0
取第一个数组元素、s1
第二个、s2
第三个元素的值,并且more-strings
是任何剩余参数的序列