0
爲什麼我得到的錯誤斯卡拉 - 錯誤:語句的非法啓動(允許在這裏沒有修飾符)
加載從火花外殼下面的代碼(包裹在一個.scala文件)時error: illegal start of statement (no modifiers allowed here)
override def toString = {
^
(火花版本2.2.0,Scala版本2.11.8)?
import org.apache.spark.util.StatCounter
class NAStatCounter extends Serializable
{
val stats: StatCounter = new StatCounter()
var missing: Long = 0
def add(x: Double): NAStatCounter = {
if (java.lang.Double.isNaN(x)) {
missing += 1
} else {
stats.merge(x)
}
this
}
def merge(other: NAStatCounter): NAStatCounter = {
stats.merge(other.stats)
missing += other.missing
this
}
override def toString = {
"stats: " + stats.toString + " NaN: " + missing
}
}
object NAStatCounter extends Serializable {
def apply(x: Double) = new NAStatCounter().add(x)
}
這是從一本書中的示例代碼和它看起來怪異,我得到這個錯誤...
這是代碼逐字?該錯誤是一個解析錯誤,我無法重現它。 –
這很奇怪。我從頭開始重寫代碼,比較工具表示它是相同的代碼,但現在得到錯誤 錯誤:未找到:鍵入StatCounter(在第5行) – user1403546
好的,我必須將開啓的大括號類定義的同一行,但仍然出現「error:not found:type StatCounter」 – user1403546