我花了很多时间来弄明白:
rmseList是双打列表
val rmseList = List(Double)
var tempRMSE : Double = 0.0;
for(rmse <- rmseList) {
val idx = rmseList.indexOf(rmse) + 1
tempRMSE = rmse
}
当我尝试迭代列表并将当前值分配给temp变量时,我得到以下错误。
[error] found : Double.type
[error] required: Double
[error] tempRMSE = rmse
答案 0 :(得分:5)
您可能已将Double
的伴随对象放入列表中,而不是实际将双精度放在那里。这是一个例子:
scala> val xs = List(Double)
xs: List[Double.type] = List(object scala.Double)
scala> var d: Double = 0
d: Double = 0.0
scala> for (x <- xs) { d = x }
<console>:10: error: type mismatch;
found : Double.type
required: Double
for (x <- xs) { d = x }
至于如何你设法将伴侣对象放入而不是Double
值,我不知道,因为你没有告诉我们你是如何构建列表的。也许以某种方式使用parens (Double)
而不是括号[Double]
来指定类型?