Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java代码中对Scala对象执行数学运算_Java_Scala_Scala Java Interop - Fatal编程技术网

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

在Java代码中对Scala对象执行数学运算,java,scala,scala-java-interop,Java,Scala,Scala Java Interop,在我的java代码中,我使用了一个方法,让我们调用foo(),它返回一个scala.Double[] scala.Double[]arr=foo(); 我想把arr总结成scala.Double,但我遇到了麻烦。我发现在scala.Doubles上执行任何类型的数学运算都会从IDE中得到一条错误消息: arr[0]+arr[1]; arr[0]*arr[1]; //等 给我留言,比如 运算符“+”不能应用于“scala.Double”、“scala.Double” 如何在java代码中对sc

在我的java代码中,我使用了一个方法,让我们调用
foo()
,它返回一个
scala.Double[]

scala.Double[]arr=foo(); 我想把
arr
总结成
scala.Double
,但我遇到了麻烦。我发现在
scala.Double
s上执行任何类型的数学运算都会从IDE中得到一条错误消息:

arr[0]+arr[1];
arr[0]*arr[1];
//等
给我留言,比如

运算符“+”不能应用于“scala.Double”、“scala.Double”


如何在java代码中对scala.Double进行数学运算?(或者,是否有另一种方法来总结java代码中的
scala.Double[]

不清楚java中的
scala.Double[]
。如果Scala中有
Array[Double]
,则在Java中它被视为
Double[]
,而不是
Scala.Double[]

无论如何,如果您有Java中的
scala.Double[]

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]

不清楚您是如何在Java中获得
scala.Double[]
。如果Scala中有
Array[Double]
,则在Java中它被视为
Double[]
,而不是
Scala.Double[]

无论如何,如果您有Java中的
scala.Double[]

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]