Core Java · interview question
What do these Integer == comparisons print with and without cache-range values?
Multiple choiceMediumchapter-7-curatedpremiumcore-javawrapper-types-and-autoboxing
Integer x = 127;
Integer y = 127;
Integer a = 128;
Integer b = 128;
System.out.println(x == y);
System.out.println(a == b);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.
More Core Java questions
- What happens if a class implements two interfaces that have methods with the same signature?
- Given the code snippet below, what will be the result of the comparison using '=='?
- Which of the following variable names is best for storing the total amount in a shopping cart?
- When does a local variable declared inside a method stop existing?
- Which of the following is a checked exception?
- Why might you choose 'int' over 'long' for storing the number of items in a small store's inventory?