mar*_*ssi 5 java generics warnings
我正在定义一个类:
class Foo<I extends Bar & Comparable<I>> {
}
Run Code Online (Sandbox Code Playgroud)
编译器抱怨I被隐藏I.我想第二次I出现在定义中是隐藏在第一个范围内,好像变量I可以分配给两种不同的类型.怎么做正确?
编辑:
这是一个内在阶级.完整的代码可以是:
class Baz<I> {
class Foo<I extends Bar & Comparable<I>> {
}
}
Run Code Online (Sandbox Code Playgroud)
现在的问题是,如果我重新提名内I到J,我不知道这I和J实际上是同一类型.
不要使内部类参数化:
class Baz<I extends Bar & Comparable<I>> {
class Foo {
}
}
Run Code Online (Sandbox Code Playgroud)
作为一个内部(非静态嵌套)类,声明中I定义的Baz仍然有意义Foo,因为每个类Foo都有一个对其外部Baz实例的隐式引用.
| 归档时间: |
|
| 查看次数: |
6434 次 |
| 最近记录: |