En Java, nous utilisons int et Entier pour stocker des types entiers de données. Maintenant, la question qui se pose ici est la suivante : si les deux sont utilisés pour stocker le même type de données, alors quelle est la différence entre les deux et pourquoi avons-nous besoin des deux ? Ainsi, la principale différence entre le int et Entier est que l'int est de type de données primitif tandis que l'Integer est de type classe. Dans le développement de l'application POO, int se comporte selon le principe du type de données primitif primitif et se comporte comme un classe d'emballage .
Entrons dans les détails et comprenons quelques autres différences importantes entre int et Entier .
Différence entre entier et entier
M. Non. | Facteur | int | Entier |
---|---|---|---|
1. | Taper | Un int est un type de données primitif capable de stocker un entier complémentaire à deux signé de 32 bits. | Un Integer est une classe wrapper pour le type de données int qui nous donne plus de flexibilité dans la conversion, le stockage et la manipulation des données int. |
2. | La flexibilité | Un int n'autorise que la valeur binaire d'un entier, ce qui lui confère moins de flexibilité. | Un Integer est une classe wrapper pour int et offre plus de flexibilité par rapport à int. |
3. | But | Il n’est utilisé que dans un seul but, c’est-à-dire stocker une valeur entière en mémoire. | Son objectif principal est de convertir un int en objet ou un objet en int. |
4. | Utilisation de la mémoire | Il faut 4 octets pour y stocker une valeur entière. | Il faut 16 octets pour y stocker une valeur entière. |
5. | Conversion de base | Nous ne pouvons pas convertir la valeur entière de int dans une autre base. | La classe Integer fournit plusieurs méthodes utiles, telles que toBinaryString(), toOctalString() et toHexString(), qui nous permettent de convertir directement la valeur entière stockée dans Integer. |
6. | Moulage de caractères | Nous ne pouvons pas transmettre la valeur décimale et chaîne à une variable de type int. Le casting n'est pas non plus pris en charge pour cela. | Integer propose plusieurs façons de transmettre une valeur décimale ou chaîne à un objet de type Integer. Integer(String) et parseInt(String) sont les deux manières par lesquelles nous pouvons convertir une chaîne en valeur int. |
7. | Opérations | Les opérations ne sont pas autorisées car les fonctions intégrées ne sont pas utilisées. | Nous pouvons effectuer des opérations telles que renverser un nombre, le faire pivoter vers la gauche ou le faire pivoter vers la droite. |
Prenons quelques exemples liés au casting, à la conversion de base, aux opérations et à la flexibilité pour comprendre les différences entre les deux.
CastingExample.java
//creating CastingExample class to understand difference between int and Integer based on casting public class CastingExample { //main() method starts public static void main(String args[]) { //creating an integer by taking a string value Integer data = new Integer('987'); // int data = (int)'987'; we cannot typecast string to int // int newData = '987'; we cannot directly pass string value to int // by using the parseInt() method of the Integer Wrapper class, we can perform casting int newData = Integer.parseInt('987'); //print newData, i.e., of type int System.out.print(data+' '+newData); } }
Sortir:
CastingExample.java
//create BaseConversionExample class to convert the integer value into different bases public class BaseConversionExample { //main() method starts public static void main(String args[]) { //change the base to binary String binVal = Integer.toBinaryString(987); //change the base to octal String octVal = Integer.toOctalString(98); //change the base to hexadecimal String hexVal = Integer.toHexString(987); System.out.print('Binary value of 987 is: ' + binVal + ' Octal value of 987 is: ' + octVal + ' Hexadecimal value of 987 is: ' + hexVal); } }
Sortir:
FlexibilitéExemple.java
//import classes and packages that are required import java.util.function.Function; import java.util.function.Function; //create FlexibilityExample class to check flexibility of the wrapper class public class FlexibilityExample { //main() method starts public static void main(String args[]) { Integer x = new Integer('23'); //create an integer variable x of type object Integer y = new Integer('55'); //create an integer variable y of type object int p = 12; //create an integer variable p of primitive type double q = 4.23; //create a varibale q of type double Double z = new Double('8.6'); //create a variable x of type object that holds double value //print the sum of 2 Integer objects System.out.println('Sum :' + (x + y)); //print the sum of a double object and an Integer object System.out.println('Sum :' + (y + z)); //print the sum of an int value and an Integer object System.out.println('Sum :' + (p + x)); //print the sum of a double value and an Integer object System.out.println('Sum :' + (q + y)); } }
Sortir: