Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Java

Dominando el Casting de Tipos en Java: Desde Ensanchamiento hasta Estrechamiento y Más Allá

Casting de Tipos en Java

Esta guía desmitifica el casting de tipos en Java, cubriendo sus formas principales e ilustrando cada una con ejemplos claros.

Antes de sumergirte en el casting de tipos de Java, asegúrate de entender los tipos de datos de Java.

Casting de Tipos

El proceso de convertir el valor de un tipo de dato (int, float, double, etc.) a otro se conoce como casting de tipos.

Java ofrece 13 tipos de conversión, pero este tutorial se centra en las dos categorías principales:

  1. Casting de Ensanchamiento (Widening)
  2. Casting de Estrechamiento (Narrowing)

Para una lista completa, consulta la documentación oficial de Conversión de Tipos de Java.

Casting de Ensanchamiento (Widening Type Casting)

En el Casting de Ensanchamiento, Java promociona automáticamente un primitivo más pequeño a uno más grande, asegurando que no haya pérdida de datos.

Ejemplo: Convirtiendo int a double

class Main {
    public static void main(String[] args) {
        int num = 10;
        System.out.println("El valor entero: " + num);
        double dato = num;
        System.out.println("El valor double: " + dato);
    }
}

Salida

El valor entero: 10
El valor double: 10.0

Esto demuestra cómo una variable int es promocionada a double antes de la asignación. La naturaleza automática de esta conversión es por lo que también se llama casting implícito.

Nota: Las conversiones de ensanchamiento son seguras y las realiza el compilador.

Casting de Estrechamiento (Narrowing Type Casting)

Con el Casting de Estrechamiento, debes castear explícitamente un primitivo más grande a uno más pequeño usando paréntesis.

Ejemplo: Convirtiendo double a int

class Main {
    public static void main(String[] args) {
        double num = 10.99;
        System.out.println("El valor double: " + num);
        int dato = (int)num;
        System.out.println("El valor entero: " + dato);
    }
}

Salida

El valor double: 10.99
El valor entero: 10

El casteo (int) trunca la parte fraccionaria, ilustrando por qué esta conversión se considera casting explícito y puede llevar a pérdida de datos.

Nota: Java no realiza automáticamente conversiones de estrechamiento.


A continuación se muestran conversiones prácticas entre primitivos y cadenas.

Ejemplo 1: int a String

class Main {
    public static void main(String[] args) {
        int num = 10;
        System.out.println("El valor entero es: " + num);
        String dato = String.valueOf(num);
        System.out.println("El valor cadena es: " + dato);
    }
}

Salida

El valor entero es: 10
El valor cadena es: 10

Aquí, String.valueOf() convierte el entero a su representación textual.

Ejemplo 2: String a int

class Main {
    public static void main(String[] args) {
        String dato = "10";
        System.out.println("El valor cadena es: " + dato);
        int num = Integer.parseInt(dato);
        System.out.println("El valor entero es: " + num);
    }
}

Salida

El valor cadena es: 10
El valor entero es: 10

El parsing se basa en Integer.parseInt(). Si la cadena no puede parsearse, se lanza una NumberFormatException.

Nota: Valida la entrada para evitar excepciones en tiempo de ejecución.

Java

  1. Dominando el tipo de dato char en C++: Declaración, ASCII y técnicas de conversión
  2. Dominando conversión y casting de tipos en Python: Guía completa
  3. Tipos de Datos Primitivos en Java: Guía Completa con Ejemplos
  4. Dominar Operadores en Java: Tipos, Sintaxis y Ejemplos Prácticos
  5. Comentarios en Java: Tipos, Uso y Mejores Prácticas
  6. Dominar el Bucle for Mejorado en Java: Sintaxis, Ejemplos y Mejores Prácticas
  7. Dominando interfaces en Java: Conceptos, implementación y mejores prácticas
  8. Dominando la encapsulación en Java: Guía práctica de ocultamiento de datos
  9. Dominando Try‑with‑Resources en Java: Gestión automática de recursos explicada
  10. Anotaciones en Java explicadas: Tipos, ubicación y ejemplos prácticos
  11. Dominando el Casting de Tipos en Java: Desde Ensanchamiento hasta Estrechamiento y Más Allá