簡體   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