Javagenerics类型参数隐藏

我正在定义一个类:

class Foo<I extends Bar & Comparable> { } 

编译器抱怨II隐藏了。 我猜我第二次出现在定义中是隐藏在第一个范围内,好像变量I可以分配给两个不同的类型。 怎么做得对?

编辑:

这是一个内在阶级。 完整的代码可以是:

 class Baz { class Foo<I extends Bar & Comparable> { } } 

现在的问题是,如果我重新提名内部IJ ,我不确定IJ实际上是相同的类型。

不要使内部类参数化:

 class Baz> { class Foo { } } 

作为一个内部(非静态嵌套)类, IBaz声明中定义的仍然具有Foo意义,因为每个Foo都有一个对其外部Baz实例的隐式引用。

如果I已经在外部类中定义了就这样做了

 public class Outer> { public class Foo { } } 

不能在你的内心阶级重新定义I 。 内部类的I将不是外部类的I ,如果这是你想要的,那么,重命名它。

HTH