Aquí ellos son la misma instancia:¿Los objetos del envoltorio entero comparten las mismas instancias solo dentro del valor 127?
Integer integer1 = 127;
Integer integer2 = 127;
System.out.println(integer1 == integer2); // outputs "true"
Pero aquí son diferentes instancias:
Integer integer1 = 128;
Integer integer2 = 128;
System.out.println(integer1 == integer2); // outputs "false"
¿Por qué los objetos envolventes comparten la misma instancia única dentro del valor de 127?
Tenga en cuenta que el JLS especifica el * mínimo * rango de caché/interno, no el * máximo * (ver última oración) ... por lo que técnicamente es "por implementación" ;-) –
¿por qué lo hacen? No puedo obtenerlo – niiraj874u
Y pensar: todo lo que tenían que hacer era permitir la sobrecarga del operador y nada de esto sería detectable fuera de JNI. – hoodaticus