I have the following Scala code:
class X[T1 <: AnyRef] {
var _x : T1 = null
}
代码_x = null被标记为错误:
error: type mismatch;
found : Null(null)
required: T1
var _x : T1 = null : T1
如果我添加Null类型约束,一切都正常。为什么会这样呢?Scala将AnyRef定义为java.lang.Object的等价物,而java.lang.Object当然是可空的。