Преобразование символов в целые числа в Java
Может кто-нибудь, пожалуйста, объясните мне, что здесь происходит:
char c = '+';
int i = (int)c;
System.out.println("i: " + i + " ch: " + Character.getNumericValue(c));
Это печатаетi: 43 ch:-1
, Означает ли это, что я должен полагаться на примитивные преобразования для преобразованияchar
вint
? Так как я могу преобразоватьCharacter
к?Integer
Редактировать: Да, я знаюCharacter.getNumericValue
возвращается-1
если это не числовое значение, и это имеет смысл для меня. Вопрос в том, почему возвращаются примитивные преобразования.43
Edit2: 43
является ASCII для+
, но я ожидаю, что актерский состав не получится так же, какgetNumericValue
не удалось. В противном случае это означает, что есть два семантических эквивалентных способа выполнить одну и ту же операцию, но с разными результатами?