首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >选项getOrElse类型不匹配错误

选项getOrElse类型不匹配错误
EN

Stack Overflow用户
提问于 2012-11-02 05:49:58
回答 1查看 11.4K关注 0票数 20

为什么这段代码会在Scala 2.9.2中引发类型不匹配错误?我期望getOrElse返回类型String,但实际上它返回的是java.io.Serializable

代码语言:javascript
复制
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("")
                                             ^

这是可以的:

代码语言:javascript
复制
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)
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13186063

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档