Javagenerics中类型参数的前向引用

根据Java Generics FAQ http://www.angelikalanger.com/GenericsFAQ/FAQSections/TypeParameters.html#FAQ302 ,类型参数不能以这种方式前向引用

 // error 

但是没关系

 <A extends List, B> // ok 

这两个示例使用最新的jdk 1.6.0_24进行validation。

我的问题是,在语言规范中,这是指定的,隐含的还是可扣除的(即如果它是不真实的,其他事情可能会爆炸)。 我找不到任何地方。

更新

在javac7中,它是允许的。 直观地说,类型参数的顺序无关紧要; 类型系统要求类型变量之间没有循环依赖: 。 以前,这可以通过禁止前向参考来保证。 显然javac 7经过改进以放松排序,同时无论排序如何都能检测循环。

这是完全合法的,更多的是,你可以想象A扩展C,这通常是扩展B.所以当C扩展B时你会怎么说?