Core Java · interview question
How would you explain the behavior of the '==' operator when comparing Integer objects within the range of -128 to 127 in an interview?
Multiple choiceMediumchapter-7-curatedpremiumcore-javawrapper-types-and-autoboxing
Integer x = 100;
Integer y = 100;
System.out.println(x == y);Answer and explanation
Correct answer
B. Checks for reference equality but benefits from caching
Why
The JVM caches Integer objects for values between -128 and 127, so '==' checks reference equality, but will return true for these values as they refer to the same cached objects.
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?