I have a generic method declared as below
public static <E extends Number> List<E> myListOfElements(List<E> list) {
return new ArrayList<Integer>();
}
What I understand from this is it's expecting a List of type which extends Number
as input and List of type which extends Number
as output. When I try to return an ArrayList<Integer>
r it gives a compilation error
Type mismatch: cannot convert from ArrayList<Integer> to List<E>
I don't understand what is the problem here. Why can't I return an ArrayList<Integer>
here?