I Java bruker vi int og Heltall å lagre heltallstyper av data. Spørsmålet som kommer herfra er at hvis begge brukes til å lagre samme type data, hva er forskjellen mellom dem begge, og hvorfor trenger vi dem begge? Så, hovedforskjellen mellom int og Heltall er at int er av primitiv datatype mens heltall er av klassetype. I utviklingen av OOPs-applikasjonen oppfører int seg i henhold til prinsippet om den primitive primitive datatypen og oppfører seg som en innpakningsklasse .
La oss dykke ned i detaljer og forstå noen andre viktige forskjeller mellom int og Heltall .
Forskjellen mellom int og heltall
Mr. Nei. | Faktor | int | Heltall |
---|---|---|---|
1. | Type | En int er en primitiv datatype som er i stand til å lagre 32-biters fortegnet tos komplementheltall. | Et heltall er en innpakningsklasse for int-datatypen som gir oss mer fleksibilitet i konvertering, lagring og manipulering av int-data. |
2. | Fleksibilitet | En int tillater bare den binære verdien til et heltall i den, og på grunn av den gir den mindre fleksibilitet. | Et heltall er en innpakningsklasse for int og gir mer fleksibilitet sammenlignet med int. |
3. | Hensikt | Den brukes kun til et enkelt formål, dvs. å lagre en heltallsverdi i minnet. | Hovedformålet er å konvertere en int til et objekt eller et objekt til en int. |
4. | Minnebruk | Det tar 4 byte å lagre en heltallsverdi i den. | Det tar 16 byte å lagre en heltallsverdi i den. |
5. | Grunnkonvertering | Vi kan ikke konvertere heltallsverdien til int til en annen base. | Integer-klassen gir flere nyttige metoder, for eksempel toBinaryString(), toOctalString() og toHexString(), som lar oss direkte konvertere heltallsverdien som er lagret i Integer. |
6. | Type Casting | Vi kan ikke overføre desimal- og strengverdien til en variabel av typen int. Casting støttes heller ikke for det. | Heltall gir flere måter å sende en desimal- eller strengverdi til et objekt av typen heltall. Integer(String) og parseInt(String) er de to måtene vi kan konvertere en streng til en int-verdi. |
7. | Drift | Operasjoner er ikke tillatt fordi de innebygde funksjonene ikke brukes. | Vi kan utføre operasjoner som å snu et tall, rotere det til venstre eller rotere det mot høyre. |
La oss ta noen eksempler relatert til casting, basekonvertering, operasjoner og fleksibilitet for å forstå forskjellene mellom dem begge.
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); } }
Produksjon:
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); } }
Produksjon:
FleksibilitetEksempel.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)); } }
Produksjon: