[英]Doing math operations on Scala objects in Java code
在我的 java 代码中,我使用了一个方法,让我们调用foo()
,它返回一个scala.Double[]
。
scala.Double[] arr = foo();
我想将arr
总结为scala.Double
,但遇到了麻烦。 我发现对 scala 进行任何类型的数学运算scala.Double
s 会从我的 IDE 中获取一条错误消息:
arr[0] + arr[1];
arr[0] * arr[1];
//etc
给我发信息,比如
Operator '+' cannot be applied to 'scala.Double', 'scala.Double'
如何在 java 代码中对scala.Double
进行数学运算? (或者,还有另一种方法可以在 java 代码中总结scala.Double[]
吗?)
目前还不清楚你是如何在 Java 中得到scala.Double[]
的。如果你在 Scala 中有Array[Double]
,它在 Java 中被视为double[]
,而不是scala.Double[]
。
无论如何,如果你有scala.Double[]
在 Java
public class App {
public static scala.Double[] arr = foo();
}
然后它在 Scala 中也被视为Array[scala.Double]
object App1 {
val arr1: Array[Double] = App.arr
}
然后后者在 Java 中被视为double[]
public class App {
public static scala.Double[] arr = foo();
public static double[] arr2 = App1.arr1();
}
然后你可以做arr2[0] + arr2[1]
, arr2[0] * arr2[1]
...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.