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

Discussion

What will be the output of the program?

import java.util.*;

public class Demo37
{
    public static void main(String[] args)
    {
        List<String> l = new ArrayList<String>(
            Arrays.asList("a", "b"));
        Object[] plain = l.toArray();
        String[] typed = l.toArray(new String[0]);
        System.out.println(plain.length + " " + typed[1]);
    }
}

  • A.The program prints 2 b
  • B.The program prints 0 b
  • C.Compilation fails.
  • D.The program prints 2 a

Answer: A

The no-argument toArray can only promise Object[], while the array-taking form uses the supplied type and returns String[], allocating a bigger array when the given one is too small. Both hold the same two elements, so the length is 2 and the second element is b.

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

Post your comment

Please log in or register to post a comment.