I have a method with a parameter containing generics.
public static void readList(List<ModelObject> list)
{
// more code
}
I want to pass an ArrayList
of ModelObjectImplementation
s to this method.
ArrayList<ModelObjectImplementation> myList;
myList = ...
readList(myList); // gives compilation error
ModelObject
is an interface that ModelObjectImplementation
implements. How can I change the method declaration to allow this?
You can use wildcards, if you're using Java version 1.5 and higher.
public static void readList(List<? extends ModelObject> list)
This solution is more generic, because it fits for all java.util.List
interface implementations and subclasses/subinterfaces of ModelObject
.
For more details go to wildcards tutorial
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