作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我如何将其转换为 Int 而不是 Some(Int)
val a: Option[Any] = Some(1)
toInt
它给出了一个错误
value toInt is not a member of Option[Any]
最佳答案
你可以做 a.get.asInstanceOf[Int]
然而它是不安全的。更好的方法是保留类型信息,即使用 Option[Int]
而不是 Option[Any]
.那么你就不需要用 asInstanceOf
来转换结果.
val a:Option[Int] = Some(1)
val i = a.get
get
直接是不安全的,因为如果
Option
是
None
抛出异常。所以使用
getOrElse
更安全。或者你可以在
a
上使用模式匹配以获得值(value)。
val a:Option[Any] = Some(1) // Note using Any here
val i = (a match {
case Some(x:Int) => x // this extracts the value in a as an Int
case _ => Int.MinValue
})
关于scala - 将 Option[Any] 转换为 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11716081/
我是一名优秀的程序员,十分优秀!