Em Java, usamos interno e Inteiro para armazenar tipos inteiros de dados. Agora, a questão que surge daqui é: se ambos são usados para armazenar o mesmo tipo de dados, então qual é a diferença entre os dois e por que precisamos de ambos? Então, a principal diferença entre o interno e Inteiro é que o int é do tipo de dados primitivo, enquanto o Integer é do tipo de classe. No desenvolvimento da aplicação OOPs, int se comporta de acordo com o princípio do tipo de dados primitivo primitivo e se comporta como um classe wrapper .
Vamos mergulhar em detalhes e entender algumas outras diferenças importantes entre interno e Inteiro .
string para conversar
Diferença entre int e inteiro
Sr. Não. | Fator | interno | Inteiro |
---|---|---|---|
1. | Tipo | Um int é um tipo de dados primitivo que é capaz de armazenar um número inteiro de complemento de dois com sinal de 32 bits. | Um Integer é uma classe wrapper para o tipo de dados int que nos dá mais flexibilidade na conversão, armazenamento e manipulação de dados int. |
2. | Flexibilidade | Um int permite apenas o valor binário de um número inteiro e, por isso, oferece menos flexibilidade. | Um Integer é uma classe wrapper para int e oferece mais flexibilidade em comparação com int. |
3. | Propósito | Ele é usado apenas para um propósito, ou seja, armazenar um valor inteiro na memória. | Seu principal objetivo é converter um int em um objeto ou um objeto em um int. |
4. | Uso de memória | São necessários 4 bytes para armazenar um valor inteiro nele. | São necessários 16 bytes para armazenar um valor inteiro nele. |
5. | Conversão básica | Não podemos converter o valor inteiro de int em outra base. | A classe Integer fornece vários métodos úteis, como toBinaryString(), toOctalString() e toHexString(), que nos permitem converter diretamente o valor inteiro armazenado no Integer. |
6. | Fundição de tipo | Não podemos passar o valor decimal e string para uma variável do tipo int. A transmissão também não é suportada para isso. | Integer fornece várias maneiras de passar um valor decimal ou string para um objeto do tipo Integer. O Integer(String) e o parseInt(String) são as duas maneiras pelas quais podemos converter uma string em um valor int. |
7. | Operações | As operações não são permitidas devido ao não uso das funções integradas. | Podemos realizar operações como inverter um número, girá-lo para a esquerda ou girá-lo para a direita. |
Vejamos alguns exemplos relacionados a Casting, Conversão de Base, Operações e Flexibilidade para entender as diferenças entre ambos.
CastingExample.java
string para inteiro
//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); } }
Saída:
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); } }
Saída:
FlexibilidadeExemplo.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)); } }
Saída:
diferença de tigre e leão