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