Mys*_*Dan 5 boxing scala scala-2.10
在Scala 2.10中,someDouble.isNaN预计是盒子吗?.isNaN通过反编译器运行我的代码调用,我仍然double2Double在我的代码中看到了调用.鉴于AnyVal2.10中的新工作,我预计它不会比java.lang.Double.isNaN(someDouble)运行时更糟,没有虚假分配.我错过了什么吗?
不幸的是,isNaN是一个方法java.lang.Double,并且必须进行隐式转换java.lang.Double,因此Scala RichDouble值类不能重新实现isNaN为快,并且当你使用isNaN盒子时java.lang.Double.
由于这只留下缓慢或笨拙的测试方式NaN,我定义
implicit class RicherDouble(val d: Double) extends AnyVal {
def nan = java.lang.Double.isNaN(d)
}
Run Code Online (Sandbox Code Playgroud)
然后我可以.nan用来检查.
| 归档时间: |
|
| 查看次数: |
2529 次 |
| 最近记录: |