請看看下面的代碼片段: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)
它看起來不像可訪問性問題,因爲非靜態內部類可以訪問外部類的所有實例變量。看起來我在某處定義了我的泛型。任何人都可以解釋我在這裏做錯了嗎?