我有class A
和扩展class B
的A
。
我有一个抽象class X
和一个扩展Y
的具体类X
。
在X
中,我有一个带有以下签名的抽象方法:
public abstract Collection<? extends A> getStuff();
在
Y
中,我实现了具有以下签名的abstract方法:public Collection<B> getStuff();
当我尝试执行以下操作时:
classX.getStuff().add(B)
它提出了以下投诉:Collection中的add(捕获)不能应用于B
任何帮助,将不胜感激。
最佳答案
您可以将以下示例用作X类。
例如,
public abstract <T extends A> Collection<T> getStuff();
您也可以参考this threads。
关于java - Java泛型帮助,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5761849/