接口实现F-Bounded接口

时间:2014-06-10 15:35:08

标签: java generics interface

我是F-Bounded界面概念的新手。

我有一个F-Bounded接口,A。我想在接口B中使用它。我只想在A上使用泛型,但如果我不使用泛型,B会抛出警告。 我正在寻找这种情况下的最佳做法。用最好的解决方案展示B的实现会很好。

public interface A<T extends A<T>>{
    T getSomething();
    void setSomething(T);
}

这是我想要使用的那个,但它显然会引发警告。

public interface B{
    A getA();
    void setA();
}

这个工作正常,只要它们很少接口。一旦我添加更多接口,即使用B,事情就会变得非常混乱。

public interface B<T extends A<T>>{
    T getA();
    void setA(T);
}

另外,我应该在接口B中使用A的实现吗?这将消除反复出现的泛型,但感觉不对。

1 个答案:

答案 0 :(得分:0)

只需使用无界通配符。

public interface B{
    A<?> getA();
    void setA(A<?> a);
}