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

Discussion

What will be the output of the program?

public class Case66
{
    static void show()
    {
        Integer count = 5;
        int doubled = count * 2;
        Integer boxedAgain = doubled;
        System.out.println(doubled + " " + boxedAgain.equals(10));
    }

    public static void main(String[] args)
    {
        show();
    }
}

  • A.The program prints 10 false
  • B.The program prints 10 true
  • C.The program prints 5 true
  • D.Compilation fails.

Answer: B

The wrapper unboxes for the arithmetic, giving the int 10, and assigning that back to an Integer boxes it again. equals against the literal 10 boxes that too and compares values, so it is true. Autoboxing happens silently in both directions.

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

Post your comment

Please log in or register to post a comment.