我们说我不能出于某种原因选择使用[T: Numeric]
类型。
有没有给出" Any"测试它是否是"数字"没有使用上述?
编辑:感谢Lee的评论,它显然和Java一样简单:x.isInstanceOf[Number]
。
我对其工作原理的理解是:x:Any = 1
基本上在运行时java.lang.Integer
,后者又实现了java.lang.Number
答案 0 :(得分:5)
val a = "hello"
val b = 1.34
toNumericOption(a) // None
toNumericOption(b) //Some(1.34)
def toNumericOption(x: Any) = x match {
case n: java.lang.Number => Some(n)
case _ => None
}
您可以使用它转换为选项