Casting

Promozione

In un’espressione il valore numerico con precisione più bassa è promosso implicitamente al tipo con precisione più alta

byte -> short -> int -> long
float -> double
byte, short, int, long -> float, double

I caratteri diventano interi (codice Unicode), se compaiono in un’espressione numerica

char -> int

Qualsiasi dato diventa un testo se è concatenato a una stringa con l’operatore +

byte, short, int, long, float, double, char, boolean -> String

Retrocessione

Se si desidera che il risultato di un’espressione sia del tipo con precisione più bassa

byte <- short <- int <- long
float <- double
byte, short, int, long <- float, double

è necessario retrocederlo esplicitamente con

(tipo)espr

Per trasformare una stringa in un valore numerico è necessario utilizzare i metodi

Byte.parseByte() Short.parseShort() Integer.parseInt() Long.parseLong()
Float.parseFloat() Double.parseDouble()