Il secondo caso è applicabile solo se il cast si fa con tipi di dati effettivamente compatibili, e non si può dire che, in questo caso, lo siano, dato che si tratta di un Integer e di un String.
Il metodo ToString esiste proprio per consentire al valore di creare un'istanza di String che contenga la rappresentazione testuale del valore: non equivale ad una vera e propria conversione, ma in fondo si usa per questo motivo.
Ciao!![]()