私は次のScalaコードを持っています:
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 と同等のものとして定義していますが、これはもちろん nullable です。