实现和集合

Che*_*het 2 java generics collections interface

为什么这不起作用......

public ArrayList<Edge> getEdges() {

return A;

//A is an Arraylist of type 'Action'. Action implements Edge.

}
Run Code Online (Sandbox Code Playgroud)

接口Edge包括:public ArrayList getEdges();

尽管如此.

public Edge getEdges() {

return B;

//B is an 'Action'. Action implements Edge.

}
Run Code Online (Sandbox Code Playgroud)

界面Edge包括:public Edge getEdges();

谢谢你,切特

zw3*_*324 7

因为while Edge是子类型Action, ArrayList<Action>不是子类型ArrayList<Edge>.

ArrayList<? extends Edge>改用.

你可以看一下本教程的4.通配符部分,虽然我建议你仔细阅读它,因为它真的很有帮助.