En Java usamos En t y Entero para almacenar tipos de datos enteros. Ahora, la pregunta que surge de aquí es que si ambos se usan para almacenar el mismo tipo de datos, ¿cuál es la diferencia entre ambos y por qué los necesitamos a ambos? Entonces, la principal diferencia entre el En t y Entero es que int es de tipo de datos primitivo mientras que Integer es de tipo de clase. En el desarrollo de la aplicación OOP, int se comporta de acuerdo con el principio del tipo de datos primitivo primitivo y se comporta como un clase contenedora .
Profundicemos en los detalles y comprendamos algunas otras diferencias importantes entre En t y Entero .
lista doblemente enlazada
Diferencia entre int y entero
Sr. No. | Factor | En t | Entero |
---|---|---|---|
1. | Tipo | Un int es un tipo de datos primitivo que es capaz de almacenar un entero en complemento a dos con signo de 32 bits. | Un Integer es una clase contenedora para el tipo de datos int que nos brinda más flexibilidad para convertir, almacenar y manipular datos int. |
2. | Flexibilidad | Un int solo permite el valor binario de un número entero, por lo que proporciona menos flexibilidad. | Un Integer es una clase contenedora para int y proporciona más flexibilidad en comparación con int. |
3. | Objetivo | Se utiliza con un solo propósito, es decir, almacenar un valor entero en la memoria. | Su objetivo principal es convertir un int en un objeto o un objeto en un int. |
4. | Uso de memoria | Se necesitan 4 bytes para almacenar un valor entero en él. | Se necesitan 16 bytes para almacenar un valor entero en él. |
5. | Conversión de bases | No podemos convertir el valor entero de int a otra base. | La clase Integer proporciona varios métodos útiles, como toBinaryString(), toOctalString() y toHexString(), que nos permiten convertir directamente el valor entero almacenado en Integer. |
6. | Tipo de fundición | No podemos pasar el valor decimal y de cadena a una variable de tipo int. El casting tampoco es compatible con eso. | Integer proporciona varias formas de pasar un valor decimal o de cadena a un objeto de tipo Integer. Integer(String) y parseInt(String) son las dos formas en que podemos convertir una cadena en un valor int. |
7. | Operaciones | No se permiten operaciones por no utilizar las funciones incorporadas. | Podemos realizar operaciones como invertir un número, rotarlo hacia la izquierda o rotarlo hacia la derecha. |
Tomemos algunos ejemplos relacionados con Casting, Conversión de bases, Operaciones y Flexibilidad para comprender las diferencias entre ambos.
CastingExample.java
son ejemplos de modelos
//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); } }
Producción:
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); } }
Producción:
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)); } }
Producción:
establecer delimitador java