Casting en Java.
Algunas veces estamos empleando un tipo de datos y se precisa que esa variable corresponda a otro tipo de datos. Para ello se utiliza el casting.
Hay casting implícito y casting explícito.
El implícito se ejecuta automáticamente sin precisar de nada. Por ejemplo en la siguiente operación el numerador entero se utiliza como double:
5.2/3 = 1.73333 o también
2/5.67= 0.352733 y se ejecuta perfectamente.
Pero hay ocasiones que requiere que se ejecute un casting explícito. Por ejemplo las mismas operaciones anteriores sí queremos que sean operaciones que nos den resultados enteros:
(int) 5.2/3 = 1 o, la siguiente
(int) (2/5.67) = 0
En el casting hay que considerar el truncamiento. Por ejemplo, si hacemos casting de un número double a un entero, sí en valor del double rebasa al Integer.MAX_VALUE, entonces se trunca a este. Si en vez de un double fuera un int... no sería un casting, sino un desbordamiento. Ejemplos:
(int) Integer.MAX_VALUE×2 no es un casting, todos son enteros, al multiplicar en valor máximo por 2 se produciría un desbordamiento, resultando un valor inesperado.
(int) (Integer.MAX_VALUE×2.1) si es un casting, al multiplicar en valor máximo por 2.1 que es un double, se produciría un truncamiento con (int), resultando un valor máximo de los enteros.
Comentarios
Publicar un comentario