我遇到了使用继承的不兼容返回类型的问题。
public interface A { }
public interface B extends A { }
public interface C {
Map<String, A> getMapping();
}
public interface D extends C {
Map<String, B> getMapping();
}
有没有办法让它工作?
现在编译器告诉我我正在接口(interface) D 上“尝试使用不兼容的返回类型”。
最佳答案
我建议你使用
interface C {
Map<String, ? extends A> getMapping();
}
这表示 “将 String
映射到 A
或 A
的子类型的映射”。这与 Map<String, B>
兼容.
关于java - "Attempting to use an incompatible return type"接口(interface)继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30878334/