Eventuali duplicati:
char and int in JavaPerché è consentito assegnare char ad un int in java?
tabella AsicII: http://www.asciitable.com
Il seguente codice stampa il valori Dec del char corrispondente, ad esempio, "123" -> 49 50 51
public void foo(String str)
{
for(int x = 0; x < str.length(); x++)
{
int temp = str.charAt(x);
System.out.println(temp);
}
}
Ma noto che java è un linguaggio di tipo forte, il che significa che ogni cosa deve essere lanciata in fase di compilazione, ma come mai il codice sa come e quando convertire il char nel valore Dec corretto nella tabella AsicII? Ho sbagliato qualche java/programmazione fondamentale?
Questa è una buona domanda; è strano che Java autorizzi il casting automatico dai caratteri agli inte, data la sua predisposizione ai tipi forti. +1 – BlackVegetable
Java consente il casting automatico da un tipo più piccolo a un più alto. Solleva un errore di compilazione se provi a farlo implacabilmente al contrario. – aldrinleal
Puoi includere un esempio in cui potresti farlo accidentalmente e introdurre un bug? –