为什么这不起作用...
public ArrayList<Edge> getEdges() {
return A;
//A is an Arraylist of type 'Action'. Action implements Edge.
}
Edge接口(interface)包括:public ArrayList getEdges();
尽管如此。
public Edge getEdges() {
return B;
//B is an 'Action'. Action implements Edge.
}
Edge接口(interface)包括:public Edge getEdges();
谢谢你, 切特
最佳答案
因为同时Edge
是 Action
的子类型, ArrayList<Action>
不是 ArrayList<Edge>
的子类型.
使用ArrayList<? extends Edge>
相反。
你可以看看this tutorial's 4. Wildcard section ,尽管我建议您通读一下,因为它确实很有帮助。
关于java - 实现和集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7098402/