In Java usiamo int E Numero intero per memorizzare tipi di dati interi. Ora, la domanda che nasce da qui è: se entrambi vengono utilizzati per archiviare lo stesso tipo di dati, allora qual è la differenza tra loro e perché ne abbiamo bisogno entrambi? Quindi, la differenza principale tra il int E Numero intero è che int è di tipo dati primitivo mentre Integer è di tipo class. Nello sviluppo dell'applicazione OOPs, int si comporta secondo il principio del tipo di dati primitivo primitivo e si comporta come un classe involucro .
Entriamo nei dettagli e comprendiamo alcune altre importanti differenze tra int E Numero intero .
Differenza tra int e intero
Signor No. | Fattore | int | Numero intero |
---|---|---|---|
1. | Tipo | Un int è un tipo di dati primitivo in grado di memorizzare un numero intero in complemento a due con segno a 32 bit. | Un numero intero è una classe wrapper per il tipo di dati int che ci offre maggiore flessibilità nella conversione, archiviazione e manipolazione dei dati int. |
2. | Flessibilità | Un int consente solo il valore binario di un numero intero e per questo motivo fornisce meno flessibilità. | Un Integer è una classe wrapper per int e fornisce maggiore flessibilità rispetto a int. |
3. | Scopo | Viene utilizzato per un solo scopo, ovvero memorizzare un valore intero in memoria. | Il suo scopo principale è convertire un int in un oggetto o un oggetto in un int. |
4. | Uso della memoria | Sono necessari 4 byte per memorizzare un valore intero al suo interno. | Sono necessari 16 byte per memorizzare un valore intero al suo interno. |
5. | Conversione di base | Non possiamo convertire il valore intero di int in un'altra base. | La classe Integer fornisce diversi metodi utili, come toBinaryString(), toOctalString() e toHexString(), che ci consentono di convertire direttamente il valore intero memorizzato nell'Integer. |
6. | Tipo Casting | Non possiamo passare il valore decimale e stringa a una variabile di tipo int. Anche per questo il casting non è supportato. | Integer fornisce diversi modi per passare un valore decimale o stringa a un oggetto di tipo Integer. Integer(String) e parseInt(String) sono i due modi attraverso i quali possiamo convertire una stringa in un valore int. |
7. | Operazioni | Le operazioni non sono consentite perché non si utilizzano le funzioni integrate. | Possiamo eseguire operazioni come invertire un numero, ruotarlo a sinistra o ruotarlo a destra. |
Prendiamo alcuni esempi relativi al Casting, alla Conversione della Base, alle Operazioni e alla Flessibilità per comprendere le differenze tra i due.
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); } }
Produzione:
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); } }
Produzione:
FlessibilitàEsempio.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)); } }
Produzione: