如果泛型类型与null
(并且仅与null
)进行比较,这会导致编译器将类型约束为可空(可以)和可相等的类型。
为什么是后者?null
对于可以为空但不支持相等的类型,似乎只比较应该是可以的。
我知道我可以用它Unchecked.equals
来获得可为空的约束,只是想知道我是否遗漏了一些明显的原因,为什么((=) null)
需要一个可平等的论点。
如果泛型类型与null
(并且仅与null
)进行比较,这会导致编译器将类型约束为可空(可以)和可相等的类型。
为什么是后者?null
对于可以为空但不支持相等的类型,似乎只比较应该是可以的。
我知道我可以用它Unchecked.equals
来获得可为空的约束,只是想知道我是否遗漏了一些明显的原因,为什么((=) null)
需要一个可平等的论点。