В моем Java-коде я использую метод, давайте вызовем foo()
, который возвращает scala.Double[]
.
scala.Double[] arr = foo();
Я хочу суммировать arr
в scala.Double
, но у меня проблемы. Я обнаружил, что выполнение любой математической операции над scala.Double
приводит к сообщению об ошибке из моей IDE:
arr[0] + arr[1];
arr[0] * arr[1];
//etc
Получай мне такие сообщения
Operator '+' cannot be applied to 'scala.Double', 'scala.Double'
Как я могу выполнять математические операции с scala.Double
в коде Java? (в качестве альтернативы, есть ли другой способ суммировать scala.Double[]
в коде Java?)
1 ответ
Непонятно, как вы получили scala.Double[]
в Java. Если у вас есть Array[Double]
в Scala, в 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]
...
Похожие вопросы
Новые вопросы
java
Java — это высокоуровневый объектно-ориентированный язык программирования. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег часто используется вместе с другими тегами для библиотек и/или фреймворков, используемых разработчиками Java.