Java 何时使用getNumericValue

Java 何时使用getNumericValue,java,Java,在下面的代码中,两个循环的输出是相同的。getNumericValue实际上是返回char的数值,如果char是一个数字,那么0..9它返回int值,例如'0'->0对于其他ascii代码,它返回它们的代码,例如'a'->10 对数字以外的字符使用此方法有什么意义吗(如示例代码中所示) 有任何用例吗?除了从char中获取数字值之外,我想不出任何其他用例 char ch; int i =1; for( ch = 'a'; ch <= 'z' ; i++, ch++

在下面的代码中,两个循环的输出是相同的。
getNumericValue
实际上是返回
char
的数值,如果
char
是一个数字,那么
0..9
它返回
int
值,例如
'0'->0
对于其他ascii代码,它返回它们的代码,例如
'a'->10

对数字以外的字符使用此方法有什么意义吗(如示例代码中所示)

有任何用例吗?除了从char中获取数字值之外,我想不出任何其他用例

    char ch;
    int i =1;
    for(  ch = 'a'; ch <= 'z' ; i++, ch++ )
        System.out.println(ch+" "+i);
    i=1;
    for( int j=Character.getNumericValue('a'); j<= Character.getNumericValue('z'); j++,i++  )
        System.out.println(i+ " "+j);
charch;
int i=1;

for(ch='a';ch
字符。getNumericValue
设计用于支持大于10的基数。例如,在十六进制中,字母a到F也是表示10到15的数字。
字符。getNumericValue
将此概念一直扩展到
z
:a是10,B是11,C是12,…,z是35(不区分大小写).所以它适用于数字和字母。据我从文档中所知,它还支持其他编号系统,因此您提到的罗马数字


至于重点是什么,我马上想到了国际化。阿拉伯数字并不是唯一的编号系统,如果你有一个UTF-16字符集和一个名为
character.getNumericValue
的方法,那么它不应该仅仅局限于英语编号系统,这是有道理的。

什么原因还不太清楚你的意思是“有任何意义”。如果记录的行为符合你的要求,你应该使用该方法;否则,不要使用它。或者,你是在问,与(你正在考虑的其他方法)相反,使用该方法是否有意义?@AndyTurner我想知道这种方法的意义是不是可以对
chars
Character.digit
使用一元数字提升。数字提升肯定不是一回事,因为它会产生不同的值。对于代码示例中的循环,不需要getNumericValue。实际应用可能很少getNumericValue方法的示例。@VGR这些示例实际上就是我在这里要介绍的,您能提供一些吗?那么
Character.digit
?编辑
Character.getNumericValue('五')
返回
-1
所以它不起作用了?从我所知道的
字符来看。digit
表示我在第一段中提到的“计算机”数字,即0-9和A-F。
字符。getNumericValue
表示“真实世界”数字,因此不仅需要支持多个基数,还需要支持多个数字系统。我补充说,作为一个概念性的例子,我没有实际测试它。我想我应该删除它。