logo

int vs Integer Java

V jazyku Java používame int a Celé číslo na ukladanie celočíselných typov údajov. Teraz prichádza otázka, že ak sa oba používajú na ukladanie rovnakého typu údajov, aký je medzi nimi rozdiel a prečo ich potrebujeme obe? Takže hlavný rozdiel medzi int a Celé číslo je, že int je primitívneho dátového typu, zatiaľ čo Integer je typu triedy. Pri vývoji aplikácie OOPs sa int správa podľa princípu primitívneho primitívneho dátového typu a správa sa ako obalová trieda .

int vs Integer Java

Poďme sa ponoriť do detailov a pochopiť niektoré ďalšie dôležité rozdiely medzi nimi int a Celé číslo .

Rozdiel medzi int a Integer

pán č. Faktor int Celé číslo
1. Typ Int je primitívny dátový typ, ktorý je schopný uložiť 32-bitové celé číslo so znamienkom dvojky. Integer je obalová trieda pre typ údajov int, ktorá nám poskytuje väčšiu flexibilitu pri konverzii, ukladaní a manipulácii s údajmi int.
2. Flexibilita Int v ňom umožňuje iba binárnu hodnotu celého čísla, a preto poskytuje menšiu flexibilitu. Celé číslo je obalová trieda pre int a poskytuje väčšiu flexibilitu v porovnaní s int.
3. Účel Používa sa iba na jeden účel, t. j. na uloženie celočíselnej hodnoty do pamäte. Jeho hlavným účelom je previesť int na objekt alebo objekt na int.
4. Využitie pamäte Uloženie celočíselnej hodnoty v ňom trvá 4 bajty. Uloženie celočíselnej hodnoty v ňom trvá 16 bajtov.
5. Základná konverzia Celú hodnotu int nemôžeme previesť na iný základ. Trieda Integer poskytuje niekoľko užitočných metód, ako napríklad toBinaryString(), toOctalString() a toHexString(), ktoré nám umožňujú priamo konvertovať celočíselné hodnoty uložené v Integer.
6. Typ Casting Nemôžeme odovzdať desiatkovú a reťazcovú hodnotu do premennej typu int. Prenášanie tiež nie je podporované. Integer poskytuje niekoľko spôsobov, ako odovzdať desiatkovú alebo reťazcovú hodnotu objektu typu Integer. Integer(String) a parseInt(String) sú dva spôsoby, ktorými môžeme previesť reťazec na hodnotu typu int.
7. Operácie Operácie nie sú povolené, pretože nepoužívajú vstavané funkcie. Môžeme vykonávať operácie, ako je otočenie čísla, otočenie doľava alebo doprava.

Zoberme si niekoľko príkladov súvisiacich s Casting, Base conversion, Operations a Flexibilita, aby sme pochopili rozdiely medzi nimi.

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

Výkon:

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

Výkon:

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

Výkon:

int vs Integer Java