繁体   English   中英

在Java代码中对Scala个对象进行数学运算

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM