logo

int срещу Integer Java

В Java използваме вътр и Цяло число за съхраняване на цели типове данни. Въпросът, който идва оттук, е, че ако и двете се използват за съхраняване на един и същи тип данни, тогава каква е разликата между тях и защо са ни нужни и двете? И така, основната разлика между вътр и Цяло число е, че int е от примитивен тип данни, докато Integer е от тип клас. При разработването на OOPs приложението int се държи според принципа на примитивния примитивен тип данни и се държи като клас обвивка .

int срещу Integer Java

Нека се потопим в подробности и да разберем някои други важни разлики между вътр и Цяло число .

Разлика между int и Integer

г-н не Фактор вътр Цяло число
1. Тип Int е примитивен тип данни, който може да съхранява 32-битово цяло число със знак две. Integer е клас обвивка за типа int данни, който ни дава по-голяма гъвкавост при конвертиране, съхраняване и манипулиране на int данни.
2. Гъвкавост Int позволява само двоичната стойност на цяло число в него и поради това осигурява по-малка гъвкавост. Integer е клас обвивка за int и осигурява повече гъвкавост в сравнение с int.
3. Предназначение Използва се само за една единствена цел, т.е. съхраняване на цяло число в паметта. Основната му цел е да преобразува int в обект или обект в int.
4. Използване на паметта Необходими са 4 байта, за да се съхрани целочислена стойност в него. Необходими са 16 байта, за да се съхрани целочислена стойност в него.
5. Базово преобразуване Не можем да преобразуваме целочислената стойност на int в друга база. Класът Integer предоставя няколко полезни метода, като toBinaryString(), toOctalString() и toHexString(), които ни позволяват директно да конвертираме целочислената стойност, съхранена в Integer.
6. Тип Кастинг Не можем да предадем десетичната и низовата стойност към променлива тип int. Кастингът също не се поддържа за това. Integer предоставя няколко начина за предаване на десетична или низова стойност към обект от тип Integer. Integer(String) и parseInt(String) са двата начина, чрез които можем да преобразуваме низ в int стойност.
7. Операции Операциите не са разрешени, защото не се използват вградените функции. Можем да извършваме операции като обръщане на число, завъртане наляво или надясно.

Нека вземем няколко примера, свързани с кастинг, базово преобразуване, операции и гъвкавост, за да разберем разликите между тях.

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

Изход:

int срещу 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); } } 

Изход:

int срещу 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)); } } 

Изход:

int срещу Integer Java