我试图从 Clojure 调用这个 java 方法,但它抛出了“ClassCastException 无法将 java.lang.Long 转换为 [J java.lang.Class.cast (Class.java:3003)”
public String encrypt(long... numbers) {
return encode(numbers, alphabet_, salt_, minHashLength_);
}
从 Clojure 调用该方法相当于什么?
最佳答案
Java 可变参数是编译为单个数组参数的语法糖。为了将数据从 Clojure 传递到此方法中,请使用 long-array
将长整型集合转换为数组。功能。
(.encrypt obj (long-array [1 2 3]))
关于java - Clojure 中的 "long... numbers"参数相当于什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17872516/