У Java ми використовуємо внутр і Ціле число для зберігання цілочисельних типів даних. Тепер питання, яке виникає звідси, полягає в тому, що якщо обидва використовуються для зберігання одного типу даних, то яка різниця між ними і навіщо вони потрібні? Отже, основна відмінність між внутр і Ціле число полягає в тому, що int має примітивний тип даних, а Integer — тип класу. У розробці програми ООП int поводиться за принципом примітивного примітивного типу даних і поводиться як клас обгортки .
Давайте зануримося в деталі та зрозуміємо деякі інші важливі відмінності між ними внутр і Ціле число .
Різниця між 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); } }
Вихід:
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); } }
Вихід:
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)); } }
Вихід: