有人能给我解释一下这是怎么回事吗:
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
没有成功一样。否则,这意味着有两种语义等价的方法来执行相同的操作,但结果不同?
https://stackoverflow.com/questions/19388037
复制相似问题