我想知道为什么第一行编译但第二行不编译
new Integer(1) instanceof Comparable<?>;
new Integer(1) instanceof Comparable<Integer>;
错误消息是:
illegal generic type for instanceof
由于
答案 0 :(得分:1)
如果在instanceof运算符之后提到的ReferenceType不表示可重新生成的引用类型(第4.7节),那么这是一个编译时错误。
来自Sec 4.7
当且仅当下列之一成立时,类型才可以恢复:
...
- 这是一个参数化类型,其中所有类型参数都是无界通配符(§4.5.1)。
...