当我致电null
时,结果为0
scala.Int.unbox(null)
的实施是:
scala.Int.unbox
但是当我直接调用def unbox(x: java.lang.Object): Int = x.asInstanceOf[java.lang.Integer].intValue()
时,抛出NullPointerException,我是否应该错过一些东西?
答案 0 :(得分:1)
你在哪里找到这个定义?我看到Scaladoc指向此方法,该方法在空输入
上显式指定0https://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();
}