以下のコード スニペットをご覧ください。
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 は、private 内部クラス内でa.doA(env)
次のメッセージを表示します。
The method doA(E) in the type A<E> is not applicable for the arguments (E)
非静的内部クラスは外部クラスのすべてのインスタンス変数にアクセスできるため、アクセシビリティの問題のようには見えません。どこかでジェネリックを間違って定義したようです。ここで私が間違っていることを誰かが説明できますか?