我是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的实现吗?这将消除反复出现的泛型,但感觉不对。
答案 0 :(得分:0)
只需使用无界通配符。
public interface B{
A<?> getA();
void setA(A<?> a);
}