What will be the output of the program?
import java.util.*;
public class Sketch81
{
public static void main(String[] args)
{
Collection<String> c = new ArrayList<String>();
c.add("b"); c.add("a");
System.out.println(c instanceof List);
}
}
Answer: A
The variable is declared Collection, but instanceof asks about the object, which really is an ArrayList and therefore a List. Declaring a narrower interface limits which methods may be called, never what the object is. Calling get through this variable would not compile.
Please log in or register to report this question.