Se dice de la
conversión forzada de valores de tipos primitivos.
Es lo contrario
de la promoción, convirtiendo de un formato “más rico” en un formato “más
pobre”.
A veces se conoce
como downcasting de tipos primitivos.
Las promociones
toleradas por java son
byte ¬ short ¬ int ¬ long ¬ float ¬ double
char ¬ int ¬ long ¬ float ¬ double
Al contrario que
la promoción, el compilador se niega a reducir valores salvo que se le ordene explícitamente:
int x = (int)3.5; // x carga el valor 3
Cuando un valor
real se reduce a un valor entero, nos quedamos exclusivamente con la parte
entera, sin realizar ningún tipo de redondeo.
Si el formato
destino de la conversión es incapaz de contener el valor, el resultado es
imprevisible. Pero tenga en cuenta que java no se va a quejar (no se produce
ningún error ni de compilación, ni de ejecución).
Temas relacionados