Why does this not work...
public ArrayList<Edge> getEdges() {
return A;
//A is an Arraylist of type 'Action'. Action implements Edge.
}
the interface Edge includes: public ArrayList getEdges();
even though this does.
public Edge getEdges() {
return B;
//B is an 'Action'. Action implements Edge.
}
the interface Edge includes: public Edge getEdges();
Thank You, Chet
Because while Edge is a subtype of Action, ArrayList<Action> is not a subtype of ArrayList<Edge>.
Use ArrayList<? extends Edge> instead.
You could take a look at this tutorial's 4. Wildcard section, although I'd suggest to just read through it, because it is really helpful.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With