请看下面的代码片段:
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)
这似乎不是可访问性问题,因为非静态内部类可以访问外部类的所有实例变量。看起来我在某处定义了我的泛型错误。谁能解释我在这里做错了什么?