18
爲什麼此代碼在Scala 2.9.2中引發類型不匹配錯誤?我預計,getOrElse
返回類型爲String
,但實際上它返回java.io.Serializable
:選項getOrElse類型不匹配錯誤
scala> implicit def StringToOption(s:String) = Option(s)
StringToOption: (s: String)Option[String]
scala> "a".getOrElse("")
res0: String = a
scala> var opt:Option[String] = "a".getOrElse("")
<console>:8: error: type mismatch;
found : java.io.Serializable
required: Option[String]
var opt:Option[String] = "a".getOrElse("")
^
這是OK:
scala> implicit def StringToOption(s:String): Option[String] = Option(s)
StringToOption: (s: String)Option[String]
scala> var b:Option[String] = "a".getOrElse("") toString
b: Option[String] = Some(a)
> sschaef感謝修復我的英語! – sndyuk