logo

int vs Integer Java

În Java, folosim int și Întreg pentru a stoca tipuri de date întregi. Acum, întrebarea care vine de aici este că, dacă ambele sunt folosite pentru a stoca același tip de date, atunci care este diferența dintre ambele și de ce avem nevoie de ambele? Deci, principala diferență între int și Întreg este că int este de tip de date primitiv în timp ce Integer este de tip clasă. În dezvoltarea aplicației OOPs, int se comportă conform principiului tipului de date primitiv primitiv și se comportă ca un clasa de ambalare .

int vs Integer Java

Să intrăm în detalii și să înțelegem alte diferențe importante între int și Întreg .

Diferența dintre int și Integer

domnule nr. Factor int Întreg
1. Tip Un int este un tip de date primitiv care este capabil să stocheze un întreg de complement doi cu semn pe 32 de biți. Un Integer este o clasă wrapper pentru tipul de date int care ne oferă mai multă flexibilitate în conversia, stocarea și manipularea datelor int.
2. Flexibilitate Un int permite doar valoarea binară a unui întreg în el și, datorită căruia este oferă mai puțină flexibilitate. Un Integer este o clasă wrapper pentru int și oferă mai multă flexibilitate în comparație cu int.
3. Scop Este folosit doar pentru un singur scop, și anume, stocarea unei valori întregi în memorie. Scopul său principal este de a converti un int într-un obiect sau un obiect într-un int.
4. Utilizarea memoriei Este nevoie de 4 octeți pentru a stoca o valoare întreagă în ea. Este nevoie de 16 octeți pentru a stoca o valoare întreagă în ea.
5. Conversie de bază Nu putem converti valoarea întreagă a lui int într-o altă bază. Clasa Integer oferă mai multe metode utile, cum ar fi toBinaryString(), toOctalString() și toHexString(), care ne permit să convertim direct valoarea întregului stocat în Integer.
6. Tip Casting Nu putem trece valoarea zecimală și șir unei variabile de tip int. De asemenea, castingul nu este acceptat pentru asta. Integer oferă mai multe modalități de a transmite o valoare zecimală sau șir unui obiect de tip Integer. Integer(String) și parseInt(String) sunt cele două moduri prin care putem converti un șir într-o valoare int.
7. Operațiuni Operațiunile nu sunt permise din cauza neutilizarii funcțiilor încorporate. Putem efectua operații precum inversarea unui număr, rotirea lui la stânga sau rotirea lui la dreapta.

Să luăm câteva exemple legate de turnare, conversie de bază, operațiuni și flexibilitate pentru a înțelege diferențele dintre ambele.

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

Ieșire:

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

Ieșire:

int vs Integer Java

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

Ieșire:

int vs Integer Java