Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Character.getNumericValue()问题_Java_Char_Character - Fatal编程技术网

Java Character.getNumericValue()问题

Java Character.getNumericValue()问题,java,char,character,Java,Char,Character,我可能遗漏了什么,但为什么这两个数值等于-1 System.out.println(Character.getNumericValue(Character.MAX_VALUE)); System.out.println(Character.getNumericValue(Character.MIN_VALUE)); 返回: -1 -1 getNumericValue()将实际表示数字的字符(如“普通”数字0-9,但也包括其他脚本中的数字)转换为其数值。由Character.MAX\u VAL

我可能遗漏了什么,但为什么这两个数值等于
-1

System.out.println(Character.getNumericValue(Character.MAX_VALUE));
System.out.println(Character.getNumericValue(Character.MIN_VALUE));
返回:

-1
-1
getNumericValue()
将实际表示数字的字符(如“普通”数字0-9,但也包括其他脚本中的数字)转换为其数值。由
Character.MAX\u VALUE
Character.MIN\u VALUE
表示的字符没有这样的数值;它们不是数字。并根据:

如果角色没有 数值,然后返回-1


因为
Character.MAX\u VALUE
Character.MIN\u VALUE
不是数字。当参数不是映射到数字的字符时,返回-1


数字字符(0-9)、字母字符(A-Z)和其他unicode数字字符与值关联。我不知道映射的所有其他字符。但是许多字符只返回-1。

。。只是因为
\u0000
和'\uffff'不代表数字,也没有数值

我猜您是在寻找char的16位值,但对于这一点,我们可以简单地强制转换:

int value = (int) Character.MAX_VALUE;
getNumericValue()
仅适用于表示数字的字符,例如数字
'0'
'9'
。为了方便起见,它还将ASCII字母视为基数为36的数字系统中的数字(因此
'a'
为10,
'Z'
为35)

这个愚弄了很多人。如果想知道字符的Unicode值,只需将其强制转换为
int

System.out.println((int)Character.MAX_VALUE);
System.out.println((int)Character.MIN_VALUE);

你的最后一句话不正确;还有更多的字符具有Unicode标准定义的相关数值。啊,我不知道。我猜他们只是在方法文档中给出了罗马数字作为一个例子。