+ 4

Help me to understand

Integer i1 = 127; Integer i2 = 127; System.out.println(i1==i2); i1 = 128; i2 = 128; System.out.println(i1==i2); Why answer is: true false

4th Jan 2020, 9:22 PM
Уляна Томин
Уляна Томин - avatar
1 Odpowiedź
+ 5
I've found an answer. When you compile a number literal in Java and assign it to a Integer (capital I) the compiler emits: Integer b2 =Integer.valueOf(127) This line of code is also generated when you use autoboxing. valueOf is implemented such that certain numbers are "pooled", and it returns the same instance for values smaller than 128.
4th Jan 2020, 9:33 PM
Уляна Томин
Уляна Томин - avatar