logo

int vs Integer Java

V Javě používáme int a Celé číslo k ukládání celočíselných typů dat. Nyní vyvstává otázka, že pokud se oba používají k ukládání stejného typu dat, jaký je mezi nimi rozdíl a proč je oba potřebujeme? Takže hlavní rozdíl mezi int a Celé číslo je, že int je primitivního datového typu, zatímco Integer je typu třídy. Při vývoji aplikace OOPs se int chová podle principu primitivního primitivního datového typu a chová se jako obalová třída .

int vs Integer Java

Pojďme se ponořit do detailů a pochopit některé další důležité rozdíly mezi nimi int a Celé číslo .

Rozdíl mezi int a Integer

pan č. Faktor int Celé číslo
1. Typ Int je primitivní datový typ, který je schopen uložit 32bitové celé číslo se znaménkem dvojky. Integer je obalová třída pro datový typ int, která nám poskytuje větší flexibilitu při převodu, ukládání a manipulaci s daty int.
2. Flexibilita Int v něm umožňuje pouze binární hodnotu celého čísla a díky tomu poskytuje menší flexibilitu. Celé číslo je obalová třída pro int a poskytuje větší flexibilitu ve srovnání s int.
3. Účel Používá se pouze k jedinému účelu, tedy k uložení celočíselné hodnoty do paměti. Jeho hlavním účelem je převést int na objekt nebo objekt na int.
4. Využití paměti Uložení celočíselné hodnoty do něj trvá 4 bajty. Uložení celočíselné hodnoty do něj trvá 16 bajtů.
5. Základní konverze Nemůžeme převést celočíselnou hodnotu int na jiný základ. Třída Integer poskytuje několik užitečných metod, jako je toBinaryString(), toOctalString() a toHexString(), které nám umožňují přímo převádět celočíselnou hodnotu uloženou v Integer.
6. Typ Odlévání Nemůžeme předat desetinnou a řetězcovou hodnotu proměnné typu int. Casting také není podporován. Integer poskytuje několik způsobů, jak předat desítkovou nebo řetězcovou hodnotu objektu typu Integer. Integer(String) a parseInt(String) jsou dva způsoby, kterými můžeme převést řetězec na hodnotu int.
7. Operace Operace nejsou povoleny, protože nepoužívají vestavěné funkce. Můžeme provádět operace, jako je obrácení čísla, otočení doleva nebo doprava.

Vezměme si několik příkladů týkajících se Casting, Base conversion, Operations a Flexibility, abychom pochopili rozdíly mezi nimi.

CastingExample.java

fonty pro gimp
 //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ýstup:

spustit shell skriptu
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ýstup:

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ýstup:

int vs Integer Java