Red de conocimientos sobre prescripción popular - Remedios caseros - La diferencia entre int y Integer (igual y ==)

La diferencia entre int y Integer (igual y ==)

Aquí, primero hablaré sobre el concepto de grupo constante y almacenamiento de memoria en jvm.

1: El grupo de constantes es un grupo que almacena constantes (no entraré en detalles aquí sobre por qué existe un grupo de constantes. Puede consultar el análisis de memoria del grupo virtual de Java máquina).

2.2: La ubicación de int/Integer en la memoria: primero, dé un ejemplo:

Todos deberían estar familiarizados con los tres métodos anteriores para crear números enteros, pero su almacenamiento en la memoria. La ubicación es bastante diferente.

3: == descripción de la comparación

4. Nota: La nueva comparación de enteros (int num) e int será una conversión forzada. Crear una comparación entre Integer e int en forma de nuevo obligará a que new Integer() se convierta al tipo int, como se muestra en la siguiente figura:

Caso:

6:6: ¿Dónde está el grupo constante en JVM?

? Antes de la 1.7, existía en el área de métodos.

? 1.7, existe en la generación permanente.

? Existe en el metaespacio después de 1.7 y es la memoria directa de la PC porque la generación permanente se eliminó en 1.8.

7: método igual ()

Verifique directamente si Integer ha anulado el método igual de Objeto y compare directamente si son iguales. La equivalencia es cierta.