Java推理:类型变量,其上限为数组类型



我有一个关于JLS第三版和推理机制的问题。第15.12.2.7节规定:

如果F=U[],其中类型U涉及Tj,则如果A是数组类型V[],或具有上界的数组类型V[]的类型变量

我试图创建一个具有数组类型上限的类型变量,但编译器似乎不接受这一点。类似于:

public class MyClass<T extends String []> { 
}

我的问题是:这个片段中的JLS是错的,还是我遗漏了什么?这句话的最后一部分对我来说似乎不太满意

感谢

来自以下错误中的详细信息:

https://bugs.openjdk.java.net/browse/JDK-6557960

JLS有点不连贯,如第4.4节所述:

类型变量有一个可选的绑定T&I 1。。。我。绑定由类型变量、类或接口类型T 组成

类型变量不能有一个数组类型的绑定,这与我的问题(来自第15.12.2.7节)中提到的部分相矛盾:

或具有上界的类型变量,其为数组类型V[]

这一部分可以简单地忽略,因为它永远不会令人满意。

非常感谢biziclop的链接

最新更新