我对JLS第3版和推理机制有疑问。 15.12.2.7部分说明:
如果F = U [],其中类型U涉及Tj,那么如果A是数组类型 V [],或类型变量,其上限是数组类型V []
我尝试创建一个数组类型上限的类型变量,但编译器似乎并不接受这一点。类似的东西:
Repr
我的问题是:这个片段中的JLS是错误的,还是我错过了什么?句子的最后一部分似乎对我不满意。
由于
答案 0 :(得分:2)
来自以下错误的详细信息:
https://bugs.openjdk.java.net/browse/JDK-6557960
JLS有点不连贯,正如4.4节所述:
类型变量具有可选的界限,T&我1 ...我。界限 由类型变量或类或接口类型T
组成
类型变量不能有一个数组类型的绑定,这与我上面提到的部分(来自15.12.2.7节)相矛盾:
或类型变量,其上限是数组类型V []
这部分可以简单地忽略,因为它永远不会令人满意。
非常感谢biziclop的链接