Mi servirebbe un'ulteriore delucidazione tra i due errori. Ad esempio:
int k=6.2; è un errore d'esecuzione mentre,
String s=4+'x'; è di sintassi?
Mi servirebbe un'ulteriore delucidazione tra i due errori. Ad esempio:
int k=6.2; è un errore d'esecuzione mentre,
String s=4+'x'; è di sintassi?
Innanzitutto nessuna delle due compila (quindi non possono certo andare in esecuzione). Ma non sono errori di sintassi. Nel senso che tecnicamente la sintassi Java è rispettata. Sono errori di tipo.
Un double non è assegnabile così direttamente ad un int. E 4+'x' ovvero un int più un char dà come risultato un int (il valore del char 'x' cioè 120 viene portato a int e sommato a 4). E un int non è assegnabile così direttamente a un String.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet