ジェネリック型が とnull
(および のみとnull
) 比較される場合、これにより、コンパイラは型を null 許容 (これは問題ありません) と等値許容の両方として制約します。
なぜ後者なのですか?null
null 許容型の場合は、と比較するだけで問題ないようですが、等価性はサポートされていません。
Null 許容制約だけを取得するために使用できることはわかっていますが、同等の引数が必要Unchecked.equals
な明らかな理由が欠けているかどうか疑問に思っています。((=) null)