Skip to content
Sharp

Core Java · interview question

What do these Integer == comparisons print with and without cache-range values?

Multiple choiceMediumchapter-7-curatedpremiumcore-javawrapper-types-and-autoboxing
java
Integer x = 127;
Integer y = 127;
Integer a = 128;
Integer b = 128;
System.out.println(x == y);
System.out.println(a == b);
Choose one answer
Answer and explanation

Correct answer

C. False true

Why

Autoboxing with Integer.valueOf() caches values between -128 and 127, so == will return true. When values exceed this range, new objects are created, so == returns false.

Test yourself on Core Java

A free test with instant, explained results. No account needed.

Start free test
All Core Java questions →