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

Discussion

Which line contains the error?

public class Sample79
{
    public static void main(String[] args)
    {
        Integer a = null;
        int b = true ? 1 : a;
        assert b == 1;
        System.out.println(b);
    }
}

  • A.Integer a = null;
  • B.Every line above is correct as written.
  • C.int b = true ? 1 : a;
  • D.assert b == 1;

Answer: C

Mixing an int and an Integer in a conditional forces binary numeric promotion, so BOTH branches are unboxed even though only the first is chosen. Unboxing the null throws NullPointerException before the assertion is reached. Keeping both branches the same type avoids it.

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

Post your comment

Please log in or register to post a comment.