因爲內部「不符合」 AnyRef,我不知道爲什麼它不會在6.3節根據Scala Reference拋出NullPointerException:爲什麼不null.asInstanceOf [Int]拋出一個NullPointerException?
asInstanceOf [T]返回如果「空」的對象本身牛逼符合 scala.AnyRef,並拋出一個NullPointerException否則
而且也沒有null.asInstanceOf[Double]
,null.asInstanceOf[Boolean]
,null.asInstanceOf[Char]
。
PS:我的Scala庫是2.9.0.1版本和操作系統windows XP
我必須同意你,規範似乎很清楚。它應該拋出一個'NullPointerException'或規格應該更新。 – huynhjl
https://issues.scala-lang.org/browse/SI-5236 – huynhjl
不是你的問題的激情,但你可以在使用對象時使用類型賦值:'val x = null:String'或'null: java.lang.Boolean'。 – paradigmatic