我正在阅读并解析一个json文件.json文件的一个字段是Nullable.它要么返回一串数字,要么返回Null.我需要将字符串转换为int.我能够通过以下代码从String转换为Option [Int],但无法从Option [String]转换为Option [Int]
def toInt(userId: String):Option[Int] = {
try {
Some(userId.toInt)
} catch {
case e:Exception => None
}
}
val user = toInt("abc")
Run Code Online (Sandbox Code Playgroud)
我需要做哪些改变?
Chr*_*tin 15
import util.Try
def toInt(o: Option[String]): Option[Int] =
o.flatMap(s => Try(s.toInt).toOption)
Run Code Online (Sandbox Code Playgroud)
例子:
scala> toInt(None)
res0: Option[Int] = None
scala> toInt(Some("42"))
res1: Option[Int] = Some(42)
scala> toInt(Some("abc"))
res2: Option[Int] = None
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3248 次 |
| 最近记录: |