This week's book giveaway is in the OCPJP forum. We're giving away four copies of OCA/OCP Java SE 7 Programmer I & II Study Guide and have Kathy Sierra & Bert Bates on-line! See this thread for details.
public static <E extends Number> List<E> process(List<E> nums) A programmer wants to use this method like this: // INSERT DECLARATIONS HERE output = process(input);
The method process() returns a List<E> and it will be assigned to output variable. So if output is declared as an ArrayList then you cannot assign the returned value of process() into it, since List cannot be assigned to ArrayList.