Comparaison des types Integer et Int
Le type Integer est une classe d'objet, qui est un package de boxe du type de base d'un int lorsque nous appelons l'entier. object Quand, Integer pointera vers l'adresse du type de base int qu'il enveloppe.
Si vous comparez Integer avec le type int, le système convertira automatiquement Integer en type int. À ce moment-là, lorsque nous comparerons le type int, nous comparerons automatiquement la valeur de l'adresse au lieu de la comparaison de la mémoire. Observez l'exemple suivant :
(Tutoriel recommandé : Java Quick Start )
public static Integer getIntegerExample1 = 128 ; public static int getIntExample1 = 128 ; System.out.print("结果: "); System.out.println(getIntegerExample1 == getIntExample1);
结果: true
Lorsque nous comparons deux types d'entiers, le système comparera les adresses mémoire car les. Les adresses d'allocation de mémoire sont différentes, les résultats sont différents.Observez l'exemple suivant :
public static Integer getIntegerExample3 = 128 ; public static Integer getIntegerExample_3 = 128 ; System.out.print("结果: "); System.out.println(getIntegerExample3 == getIntegerExample_3);
结果: false
Cependant, nous avons une autre situation, c'est-à-dire que la taille de la valeur Integer est comprise entre -127-127Quand, Integer le fera. être sélectionné directement dans le pool de constantes, donc lorsque vous comparez les valeurs de deux entiers dans le pool de constantes, cela indiquera que les deux entiers pointent vers la même adresse mémoire
public static Integer getIntegerExample2 = 127 ; public static Integer getIntegerExample_2 = 127; System.out.print("结果: "); System.out.println(getIntegerExample2 == getIntegerExample_2);
结果: true
Vidéo associée recommandée. tutoriels : tutoriel vidéo Java
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!