当我调用scala.Int.unbox(null)时,结果是0
scala.Int.unbox的实现是:
def unbox(x: java.lang.Object): Int = x.asInstanceOf[java.lang.Integer].intValue()但是,当我直接调用null.asInstanceOf[java.lang.Integer].intValue()时,会抛出NullPointerException,是否应该遗漏一些东西呢?
发布于 2018-05-03 05:49:09
你在哪里找到这个定义的?我看到指向此方法的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();
} https://stackoverflow.com/questions/50147636
复制相似问题