logo

int vs Integer Java

En Java, fem servir int i Enter per emmagatzemar tipus de dades enters. Ara, la pregunta que sorgeix d'aquí és que si tots dos s'utilitzen per emmagatzemar el mateix tipus de dades, quina diferència hi ha entre tots dos i per què els necessitem tots dos? Per tant, la principal diferència entre int i Enter és que l'int és de tipus de dades primitiu mentre que l'entier és de tipus classe. En el desenvolupament de l'aplicació OOPs, int es comporta segons el principi del tipus de dades primitiu i es comporta com un classe d'embolcall .

int vs Integer Java

Aprofundim en els detalls i entenem algunes altres diferències importants entre ells int i Enter .

Diferència entre int i enter

Sr. No. Factor int Enter
1. Tipus Un int és un tipus de dades primitiu que és capaç d'emmagatzemar un enter de complement a dos amb signe de 32 bits. Un Integer és una classe d'embolcall per al tipus de dades int que ens ofereix més flexibilitat a l'hora de convertir, emmagatzemar i manipular dades int.
2. Flexibilitat Un int només permet el valor binari d'un nombre enter, i per això proporciona menys flexibilitat. Un Integer és una classe d'embolcall per a int i proporciona més flexibilitat en comparació amb la classe int.
3. Propòsit S'utilitza només per a un únic propòsit, és a dir, emmagatzemar un valor enter a la memòria. El seu propòsit principal és convertir un int en un objecte o un objecte en un int.
4. Ús de la memòria Es necessiten 4 bytes per emmagatzemar-hi un valor enter. Es necessiten 16 bytes per emmagatzemar-hi un valor enter.
5. Conversió base No podem convertir el valor enter de int en una altra base. La classe Integer proporciona diversos mètodes útils, com ara toBinaryString(), toOctalString() i toHexString(), que ens permeten convertir directament el valor enter emmagatzemat a Integer.
6. Tipus Casting No podem passar el valor decimal i de cadena a una variable de tipus int. El càsting tampoc s'admet per a això. Integer proporciona diverses maneres de passar un valor decimal o de cadena a un objecte de tipus Integer. L'Integer(String) i el parseInt(String) són les dues maneres mitjançant les quals podem convertir una cadena en un valor int.
7. Operacions No es permeten operacions perquè no s'utilitzen les funcions integrades. Podem realitzar operacions com invertir un nombre, girar-lo cap a l'esquerra o girar-lo cap a la dreta.

Prenguem alguns exemples relacionats amb el càsting, la conversió de base, les operacions i la flexibilitat per entendre les diferències entre tots dos.

genera un nombre aleatori en java

CastingExample.java

convertir char en cadena
 //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); } } 

Sortida:

int vs Integer Java

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); } } 

Sortida:

int vs Integer Java

FlexibilityExample.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)); } } 

Sortida:

convertir la cadena en data
int vs Integer Java