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

Discussion

The program is run with java -ea Sketch23 - what will be the output?

public class Sketch23
{
    public static void main(String[] args)
    {
        Boolean b = null;
        assert b;
        System.out.println("ok");
    }
}

  • A.The program prints ok
  • B.An AssertionError is thrown.
  • C.A NullPointerException is thrown.
  • D.Compilation fails: Boolean is not boolean.

Answer: C

A Boolean wrapper is accepted where a boolean is required because it is unboxed automatically, so this compiles. At runtime unboxing null calls booleanValue() on a null reference, which throws NullPointerException before the assertion can decide anything. Run without -ea it prints ok.

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

Post your comment

Please log in or register to post a comment.