Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/13.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
IsleterOrdigit(char)在Java6和Java7中返回不同的值_Java - Fatal编程技术网

IsleterOrdigit(char)在Java6和Java7中返回不同的值

IsleterOrdigit(char)在Java6和Java7中返回不同的值,java,Java,以下代码段在Java 6上返回46059,在Java 7上返回48757。你知道什么会改变吗 int i = 0; for(char c = Character.MIN_VALUE; c < Character.MAX_VALUE; c++){ if(Character.isLetterOrDigit(c)){ i++; } } System.out.println(i); inti=0; 用于(字符c=Character.MIN_值;c

以下代码段在Java 6上返回46059,在Java 7上返回48757。你知道什么会改变吗

int i = 0;
for(char c = Character.MIN_VALUE; c < Character.MAX_VALUE; c++){
    if(Character.isLetterOrDigit(c)){
        i++;
    }
}
System.out.println(i);
inti=0;
用于(字符c=Character.MIN_值;c
我怀疑答案是:

来自Unicode 6.0.0的新脚本和字符
JavaSE7早期版本增加了对Unicode 5.1.0的支持。JavaSE7版本的最终版本支持Unicode 6.0.0。Unicode 6.0.0是Unicode标准的主要版本,增加了对2000多个附加字符的支持,以及对属性和数据文件的支持


(很可能在7中添加了更多字符集。)将字符与
IsleterOrdigit
的结果一起打印出来,并比较输出。要么他们更改了某些字符的定义,要么他们支持更多字符。@JoeriHendrickx——打印65K“结果”可能有点困难。@PP-关键是没有实际的方法进行“迭代”搜索。但用“二进制搜索”时,你会把每一个都分成两半,然后是四分之一,然后是八分之一,等等,直到你缩小了差异。这很枯燥,但也可行。另外,
Character
的javadoc显示了对和的不同级别的unicode支持