scala.Int.unbox的行为(null)

时间:2018-05-03 05:34:17

标签: scala

当我致电null时,结果为0

scala.Int.unbox(null)的实施是:

scala.Int.unbox

但是当我直接调用def unbox(x: java.lang.Object): Int = x.asInstanceOf[java.lang.Integer].intValue() 时,抛出NullPointerException,我是否应该错过一些东西?

1 个答案:

答案 0 :(得分:1)

你在哪里找到这个定义?我看到Scaladoc指向此方法,该方法在空输入

上显式指定0

https://github.com/scala/scala/blob/2.13.x/src/library/scala/runtime/BoxesRunTime.java#L101

定义为:

public static int unboxToInt(Object i) {
    return i == null ? 0 : ((java.lang.Integer)i).intValue();
}