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

Discussion

What will be the output of the program?

public class Program76
{
    public static void main(String... args)
    {
        Object[] items = new String[2];
        items[0] = "ok";
        System.out.println(items[0]);
        items[1] = Integer.valueOf(1);
    }
}

  • A.ok, then a ClassCastException
  • B.Compilation fails.
  • C.ok, and the program ends normally
  • D.ok, then an ArrayStoreException

Answer: D

Array covariance lets a String array be referenced as an Object array, so the assignment compiles. The first store is a String and succeeds, and the print happens. The second stores an Integer into what is really a String array, which is checked at runtime and throws ArrayStoreException.

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

Post your comment

Please log in or register to post a comment.