В Java я знаю, что вы можете преобразовать char в ints так:
int c = (int) msg.charAt(i);
Но почему это также работает без ошибок:
int c = msg.charAt(i);
функция возвращает int, поэтому, конечно, ее нужно "отличить" от int перед ее использованием.
DUPLICATE: Хотя ответ дается: Почему нам разрешено назначать char int в java? , qusestion немного отличается. Поскольку я не спрашивал, почему мы можем назначить char для int, скорее я спрашивал, почему нет необходимости делать броски. Я предлагаю держать это открытым для людей в Google, хотя и тот же ответ!
String.charAt
возвращает char
. char
to int
является расширением примитивного преобразования (см. JLS 5.1.2), этот тип преобразования не теряет информации, поэтому он не нуждается в явном приведении
char
дляint
разрешено в C и, следовательно, разрешено в Java.