【发布时间】:2013-11-03 22:31:04
【问题描述】:
我正在与一个 Java 库交互,该库接受一个 double[] 作为参数并向数组添加元素。我尝试使用 JavaConversions 创建一个 Scala 可变数组,但它无法管理此转换。有什么想法吗?
Java:
public static double libraryFn(double[] numbers) {
.....
numbers[0] = 1.0
}
斯卡拉:
def caller() {
// Does not work
val myNumbers = new Array[java.lang.Double](1)
libraryFn(myNumbers)
}
感谢您的回复。更仔细地查看库源代码,看起来库有错误,根本不是 scala/java 问题。
【问题讨论】:
-
你能贴出不起作用的代码吗?
-
使用数组[java.lang.Double] stackoverflow.com/questions/3940699/passing-java-array-to-scala
-
这个问题是关于使用 Java 数组调用 scala 函数的。更重要的是,可变性没有问题。我拥有的是一个 java 函数,它接受一个 double[] 并向数组添加一个数字(out 参数)。
-
java.lang.Double不是 Java 的double。它必须是Array[Double],在 Scala 中。