请看看下面的代码片段:Java编译失败时使用泛型参数的内部类
interface IFoo<E>{
void doFoo(E env);
}
class A<E>{
public void doA(E env){}
}
public class Foo<E> implements IFoo<E>{
public A<E> a;
@Override
public void doFoo(E env) {
a.doA(env);
}
private class FooInner<E> implements IFoo<E>{
@Override
public void doFoo(E env) {
a.doA(env);
}
}
}
Eclipse的抱怨私有内部类a.doA(env)
以下消息的内部。
The method doA(E) in the type A<E> is not applicable for the arguments (E)
它看起来不像可访问性问题,因为非静态内部类可以访问外部类的所有实例变量。看起来我在某处定义了我的泛型。任何人都可以解释我在这里做错了吗?