Consider the following method. public static void someMethod (List<? Extends Emp
ID: 3771537 • Letter: C
Question
Consider the following method.
public static void someMethod (List<? Extends Employee>param) { }
Suppose you want to call the method like this: someMethod(argument);
Which of the following assignment statements are valid to make such a method call? (Mark them all.) Suppose Manager extends Employee. ArrayList<E> implements List<E>.
List <Manager> argument = new ArrayList<Manager>();
List<? Extends Employee> argment = new ArrayList<Manager>();
List<Object> argument = new ArrayList<Manager>();
ArrayList <Employee> argument = new ArrayList<Manager>();
List<?> argument = new ArrayList<Manager>();
List<? Extends Manager> argument = new ArrayList<Manager>();
List<Employee>argument = new ArrayList<Manager>();
Explanation / Answer
Valid Statememts:
List<Manager> argument = new ArrayList<Manager>();
List<?> argument4 = new ArrayList<Manager>();
List<? extends Manager> argument5 = new ArrayList<Manager>();
List<? extends Employee> argment3 = new ArrayList<Manager>();