我Object从方法中得到一个值.我知道这个对象将是类型Int或类型Long,但我事先并不知道它将是哪一个.我如何将其投射到Int或Long?
不幸的是,我无法更改提供此方法的方法的返回类型,因此无法作为解决方案..
如果只返回Ints或Longs 的方法,则库API中存在一个实际问题Object.但是,你可以处理它.但是,以下模式匹配应该起作用:
val five: Object = 5 //your method output
five match {
case n: java.lang.Integer => doSomethingWithInt(n)
case n: java.lang.Long => doSomethingWithLong(n)
}
Run Code Online (Sandbox Code Playgroud)
您需要使用java.lang,因为Int和Long实际上的基本类型int和long,所以他们不继承Object.
| 归档时间: |
|
| 查看次数: |
1549 次 |
| 最近记录: |