Creo que las respuestas de todos son falsas y verdaderas.
Pero debo decir aquí que esta respuesta no es absoluta. c==d debe ser verdadero, pero a==b puede no ser falso, pero puede ser verdadero.
Pero el valor que obtengo es cierto, cierto. Si no lo cree o tiene preguntas, ¡lea a continuación!
Primero debemos entender por qué las respuestas suelen ser falsas y verdaderas.
El número entero c = 1000 en realidad realiza la operación del número entero c = Integer. El valor es (100). Echemos un vistazo al código fuente de Integer.class
Como se puede ver en el código anterior, cuando I > = IntegerCache.low & amp& amp I & lt cuando = IntegerCache.high, será se recupera directamente de Obtenga el valor de la matriz de caché; de lo contrario, nuevo será un nuevo objeto entero.
Como se puede ver en el código fuente de Integer.class anterior, el valor predeterminado bajo es -128 y el valor alto está relacionado con integerCacheHighPropValue.
Cuando no configuramos el Integercache en la máquina virtual, era 127 y la matriz de caché era de -128 a 127. No es difícil entender por qué.
Las clásicas preguntas de la entrevista mencionadas al principio del artículo pueden tener resultados falsos o verdaderos. La razón por la que enfatizo más adelante no es necesariamente porque cuando ntegerCacheHighPropValue no es nulo, depende de la configuración en jvm.
En eclipse, podemos hacer lo siguiente:
En este momento, si ejecuta ese código nuevamente, obtendrá los resultados verdadero y verdadero. La próxima vez que alguien te haga una pregunta como esta, puedes decirle en voz alta que no es necesariamente cierta.