为什么casting(int)可以正确地将符号的char转换为int,但是“Character.getNumericValue('someSymbolCharValue');”不能?
E.g. “Character.getNumericValue('?');”即使 char 可以用“”表示为 int,也会返回 -1(整数)“?”" 它将返回 63
字符的“数值”不是其 ASCII/Unicode 索引值。这Character.getNumericValue method将尝试转换char
to an int
通过应用字符的数字含义:
返回指定 Unicode 字符表示的 int 值。例如,字符“\u216C”(罗马数字五十)将返回值为 50 的 int。
字母 A-Z 的大写形式('\u0041' 到 '\u005A')、小写形式('\u0061' 到 '\u007A')以及全角变体('\uFF21' 到 '\uFF3A' 和 '\uFF41'到 '\uFF5A') 形式具有从 10 到 35 的数值。这与 Unicode 规范无关,该规范不会将数值分配给这些 char 值。
如果该字符没有数值,则返回 -1。如果字符具有无法表示为非负整数的数值(例如小数值),则返回 -2。
预计getNumericValue
不会同意铸造char
to an int
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)