Machine-translated by Google. Questions are authored in English.
Top

Discussion

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);
    }
}

  • A.The program prints true
  • B.Compilation fails.
  • C.A ClassCastException is thrown.
  • D.The program prints false

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.

No comment is present. Be the first to comment.
Loading…

Post your comment

Please log in or register to post a comment.