En este tutorial, aprenderemos sobre Java Type Casting y sus tipos con la ayuda de ejemplos.
Antes de aprender sobre la conversión de tipos de Java , asegúrese de conocer los tipos de datos de Java.
Tipo Casting
El proceso de convertir el valor de un tipo de datos ( int
, float
, double
, etc.) a otro tipo de datos se conoce como typecasting.
En Java, hay 13 tipos de conversión de tipos. Sin embargo, en este tutorial, solo nos centraremos en los 2 tipos principales.
1. Fundición de tipo ensanchamiento
2. Fundición de tipo estrecho
Para obtener más información sobre otros tipos de conversión de tipos, visite Conversión de tipos de Java (documentación oficial de Java).
Fundición tipo ensanchamiento
En Widening Type Casting , Java convierte automáticamente un tipo de datos en otro tipo de datos.
Ejemplo: convertir int en double
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); ) )
Salida
El valor entero: 10 El valor doble: 10.0
En el ejemplo anterior, estamos asignando la int
variable de tipo denominada num a una double
variable de tipo denominada datos.
Aquí, Java primero convierte los int
datos de tipo en el double
tipo. Y luego asígnelo a la double
variable.
En el caso de la conversión de tipo de ampliación , el tipo de datos más bajo (que tiene un tamaño más pequeño) se convierte en el tipo de datos más alto (que tiene un tamaño más grande). Por tanto, no hay pérdida de datos. Es por eso que este tipo de conversión ocurre automáticamente.
Nota : Esto también se conoce como conversión de tipos implícitos .
Fundición de tipo estrecho
En Narrowing Type Casting , convertimos manualmente un tipo de datos en otro usando el paréntesis.
Ejemplo: convertir double en 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); ) )
Salida
El valor doble: 10,99 El valor entero: 10
En el ejemplo anterior, estamos asignando la double
variable de tipo denominada num a una int
variable de tipo denominada datos.
Note la línea,
int data = (int)num;
Aquí, la int
palabra clave dentro del paréntesis indica que la variable num se convierte en el int
tipo.
En el caso de Narrowing Type Casting , los tipos de datos más altos (que tienen un tamaño mayor) se convierten en tipos de datos más bajos (que tienen un tamaño más pequeño). De ahí la pérdida de datos. Es por eso que este tipo de conversión no ocurre automáticamente.
Nota : Esto también se conoce como conversión de tipos explícitos .
Veamos algunos de los ejemplos de otras conversiones de tipos en Java.
Ejemplo 1: conversión de tipos de int a 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); ) )
Salida
El valor entero es: 10 El valor de la cadena es: 10
En el programa anterior, observe la línea
String data = String.valueOf(num);
Aquí, hemos utilizado el valueOf()
método de la clase Java String para convertir la variable de tipo int en una cadena.
Ejemplo 2: conversión de tipos de String a 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); ) )
Salida
El valor de la cadena es: 10 El valor entero es: 10
En el ejemplo anterior, observe la línea
int num = Integer.parseInt(data);
Aquí, hemos utilizado el parseInt()
método de la Integer
clase Java para convertir una variable de tipo cadena en una int
variable.
Nota : Si la variable de cadena no se puede convertir en la variable entera, se NumberFormatException
produce una excepción denominada .