package lezione04; public class Slide22 { public static void main(String[] args) { int i = 0; String s = "The value of i is: "; s = s + i; // Il + si trasforma in "cast + concatenazione" System.out.println(s); s += " and the value of d is: "; double d = 0.5; s += d; System.out.println(s); String s2 = "Is it really a cast? "; boolean f = false; s2 = s2 + (String) f; // No, non è veramente un cast... s2 = s2 + Boolean.toString(f); // ...ma l'invocazione al metodo toString(), che ogni classe può definire (non ci interessa per ora) System.out.println(s2); i = d; // Siccome mettere un double in un int ci fa perdere informazione (le cifre decimale), il compilatore non lo fa in automatico i = (int) d; System.out.println("i is: " + i); String num = "13"; int n = (int) num; // Qua il cast automatico non può funzionare perchè il compilatore non può sapere che in realtà in quella stringa abbiamo messo un numero! n = Integer.parseInt(num); // Java ci fornisce però opportuni metodi per fare l'equivalente (che non ci interessano per ora) System.out.println("n is: " + n); } }