Comprendre la distinction entre entier et int en Java
Le langage de programmation Java propose deux options pour représenter les entiers : le type primitif int et le wrapper d'objet classe Entier. Bien que les deux stockent des valeurs numériques, leur nature et leur utilisation diffèrent considérablement.
int : type primitif
int est un type primitif, ce qui signifie que ses variables contiennent directement des valeurs entières. . L'attribution d'une valeur à une variable int stocke la représentation binaire de l'entier en mémoire. Par exemple, le code suivant attribue la valeur 9 à une variable int :
int n = 9;
Les types primitifs n'ont pas de méthodes ou de propriétés, donc les expressions comme int.parseInt("1") ne sont pas valides.
Integer : classe Wrapper d'objet
Integer, en revanche, est un wrapper d'objet classe. Ses variables stockent des références à des objets Integer qui encapsulent une valeur entière. Semblable à d’autres types d’objets, Integer possède des méthodes et des propriétés. Lors de l'attribution d'une valeur à une variable Integer, un nouvel objet Integer est créé et la référence à celui-ci est stockée :
Integer n = 9;
Invocation de méthode
Les invocations de méthode peuvent être fait sur la classe Integer, mais pas sur le type primitif int. Par exemple, vous pouvez utiliser la méthode parseInt pour convertir une chaîne en entier :
Integer.parseInt("1");
Autoboxing et Unboxing
Depuis Java 5, l'autoboxing et le unboxing permettent une conversion entre les types primitifs et leurs classes wrapper. L'affectation suivante est équivalente à l'exemple précédent :
int n = Integer.parseInt("1"); // Autoboxing
De même, le code suivant récupère la valeur entière d'un objet Integer :
int n = Integer.valueOf(9).intValue(); // Unboxing
Résumé
int et Integer sont des représentations différentes d'entiers en Java. int est un type primitif qui stocke directement les valeurs entières, tandis que Integer est une classe wrapper d'objet qui encapsule les valeurs entières en tant qu'objets. Integer fournit des méthodes et des propriétés, contrairement à int.
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!