Character.isLetterOrDigit(char)在java 6和7中返回不同的值

Ana*_*lya 15 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);
Run Code Online (Sandbox Code Playgroud)

Jon*_*eet 16

我怀疑这份文件的答案如下:

Unicode 6.0.0中的新脚本和字符
早期版本的Java SE 7版本增加了对Unicode 5.1.0的支持.Java SE 7发行版的最终版本支持Unicode 6.0.0.Unicode 6.0.0是Unicode标准的主要版本,并添加了对超过2000个附加字符的支持,以及对属性和数据文件的支持.