我想在scala中初始化 Int
类型的变量为 null
,但我无法这样做 -
scala> val a: Int = null
<console>:11: error: an expression of type Null is ineligible for implicit conversion
val a: Int = null
,但我可以将String
类型的变量初始化为null
:
scala> val a: String = null
a: String = null
有人知道原因吗?
注意 - 我正在使用Scala 2.11.8
null是所有参考类型的子类型;它唯一的实例是null引用。由于NULL不是价值类型的亚型,因此NULL不是任何此类类型的成员。例如,不可能将null分配给scala.int类型的变量。另一方面,字符串是AnyRef的子类型,它允许将null分配为值。层次结构参考