Neste tutorial, aprenderemos sobre o Java Type Casting e seus tipos com a ajuda de exemplos.
Antes de aprender sobre Java Type Casting , certifique-se de saber sobre Java Data Types.
Fundição de Tipo
O processo de converter o valor de um tipo de dados ( int
, float
, double
, etc.) para um outro tipo de dados é conhecida como a conversão de tipo.
Em Java, existem 13 tipos de conversão de tipo. No entanto, neste tutorial, vamos nos concentrar apenas nos 2 tipos principais.
1. Fundição do tipo de alargamento
2. Fundição do tipo estreito
Para aprender sobre outros tipos de conversão de tipo, visite Java Type Conversion (documentação oficial do Java).
Ampliação do Tipo de Fundição
Em Widening Type Casting , Java converte automaticamente um tipo de dados em outro tipo de dados.
Exemplo: convertendo int em duplo
class Main ( public static void main(String() args) ( // create int type variable int num = 10; System.out.println("The integer value: " + num); // convert into double type double data = num; System.out.println("The double value: " + data); ) )
Resultado
O valor inteiro: 10 O valor duplo: 10,0
No exemplo acima, estamos atribuindo a int
variável de tipo denominada num a uma double
variável de tipo denominada data.
Aqui, o Java primeiro converte os int
dados de tipo em double
tipo. Em seguida, atribua-o à double
variável.
No caso de Widening Type Casting , o tipo de dados inferior (com tamanho menor) é convertido no tipo de dados superior (com tamanho maior). Portanto, não há perda de dados. É por isso que esse tipo de conversão ocorre automaticamente.
Nota : Isso também é conhecido como Fundição de Tipo Implícito .
Fundição de tipo estreito
Em Narrowing Type Casting , convertemos manualmente um tipo de dados em outro usando o parêntese.
Exemplo: conversão de double em int
class Main ( public static void main(String() args) ( // create double type variable double num = 10.99; System.out.println("The double value: " + num); // convert into int type int data = (int)num; System.out.println("The integer value: " + data); ) )
Resultado
O valor duplo: 10,99 O valor inteiro: 10
No exemplo acima, estamos atribuindo a double
variável de tipo denominada num a uma int
variável de tipo denominada data.
Observe a linha,
int data = (int)num;
Aqui, a int
palavra - chave entre parênteses indica que a variável num é convertida no int
tipo.
No caso de Narrowing Type Casting , os tipos de dados superiores (com tamanho maior) são convertidos em tipos de dados inferiores (com tamanho menor). Portanto, há perda de dados. É por isso que esse tipo de conversão não ocorre automaticamente.
Nota : Isso também é conhecido como Fundição de tipo explícito .
Vamos ver alguns dos exemplos de outras conversões de tipo em Java.
Exemplo 1: conversão de tipo de int em string
class Main ( public static void main(String() args) ( // create int type variable int num = 10; System.out.println("The integer value is: " + num); // converts int to string type String data = String.valueOf(num); System.out.println("The string value is: " + data); ) )
Resultado
O valor inteiro é: 10 O valor da string é: 10
No programa acima, observe a linha
String data = String.valueOf(num);
Aqui, usamos o valueOf()
método da classe Java String para converter a variável do tipo int em uma string.
Exemplo 2: conversão de tipo de String para int
class Main ( public static void main(String() args) ( // create string type variable String data = "10"; System.out.println("The string value is: " + data); // convert string variable to int int num = Integer.parseInt(data); System.out.println("The integer value is: " + num); ) )
Resultado
O valor da string é: 10 O valor inteiro é: 10
No exemplo acima, observe a linha
int num = Integer.parseInt(data);
Aqui, usamos o parseInt()
método da Integer
classe Java para converter uma variável do tipo string em uma int
variável.
Nota : Se a variável string não pode ser convertida em variável inteira, então NumberFormatException
ocorre uma exceção chamada .