public interface IFoo<TKey, FooEntity<TValue>> {
  // stuff
}


我收到此错误:
类型参数FooEntity隐藏了类型FooEntity

public class FooEntity<T> {

    private T foo;


}


我怎样才能解决这个问题?

我希望能够在其他地方实现IFoo接口。

最佳答案

看到这个:

public interface IFoo<TKey, FooEntity<TValue>> {
  // stuff
}


您正在定义一个名为IFoo的接口。定义类型时,<>之间的内容是类型参数。使用此IFoo接口时应提供实际类型,而不是在定义IFoo时提供。

您真的是这个意思吗?

public interface IFoo<TKey, TValue> {
    void doSomething(TKey key, FooEntity<TValue> value);
}




public class MyFoo implements IFoo<String, Integer> {
    @Override
    public void doSomething(String key, FooEntity<Integer> value) {
        // TODO: ....
    }
}

09-25 18:18