Junior
¿Qué es el casting en Java?
sobes.tech AI
Respuesta de la IA
La conversión de tipos (casting) en Java es la transformación del valor de un tipo de datos a otro.
Tipos de conversión:
- Casting explícito (Explicit Casting): Se realiza por el programador usando el operador
(tipo). Se usa para convertir de un tipo "mayor" a uno "menor" (por ejemplo, dedoubleaint). Puede provocar pérdida de datos.// conversión implícita (automática) int a = 10; double b = a; // int a double // conversión explícita (declarada) double c = 10.5; int d = (int) c; // double a int, d será igual a 10 - Conversión implícita (Implicit Casting / Widening Conversion): La realiza automáticamente la JVM cuando se convierte de un tipo "menor" a uno "mayor" (por ejemplo, de
intadouble). Es segura y no provoca pérdida de datos.int x = 10; double y = x; // int convertido automáticamente a double
La conversión de tipos puede ser entre tipos primitivos o entre tipos de objetos en una jerarquía de herencia.
Para la conversión de tipos de objetos:
- Upcasting: Convertir una subclase a su superclase. Es implícito y seguro.
class Animal {} class Dog extends Animal {} Animal animal = new Dog(); // Upcasting - Downcasting: Convertir una superclase a su subclase. Requiere una conversión explícita y puede lanzar
ClassCastExceptionen tiempo de ejecución si el objeto en realidad no es una instancia de la subclase objetivo.Animal animal = new Dog(); // Upcasting // Downcasting - requiere conversión explícita y comprobación con instanceof if (animal instanceof Dog) { Dog dog = (Dog) animal; // Ahora se pueden usar métodos específicos de Dog }