为什么不null.asInstanceOf [Int]抛出NullPointerException?

爱国者*_*爱国者 14 scala nullpointerexception

由于Int"不符合"AnyRef,我不确定为什么它不会根据第6.3节中的Scala Reference抛出NullPointerException :

如果T符合scala.AnyRef,则asInstanceOf [T]返回"null"对象,否则抛出NullPointerException

而且也没有 null.asInstanceOf[Double],null.asInstanceOf[Boolean],null.asInstanceOf[Char].

PS:我的scala库是版本2.9.0.1和OS Windows XP

agi*_*eel 5

在Scala中Null是一种类型,它具有单个值null.由于null是一个值,Scala中的每个值都是一个对象,因此可以在其上调用方法.

  • 那么这正是发生的事情.例如,`null.toString`抛出NullPointerException.在运行时抛出异常.你不能在Java中这样做,因为`null`是一个语言关键字,所以它不会编译. (3认同)