随着jdk12
的发布,国际象棋符号也得以加入其中(来源):
Unicode 11.0.0引入了以下新功能,现在已包含在JDK 12中:
[...] 对以下现有脚本的4个块进行了扩展:
格鲁吉亚扩展
玛雅数字
阿拉伯数字
国际象棋符号
因此,我尝试使用以下代码打印这些字符,以测试功能,并稍后在小型国际象棋游戏中使用它们:
Character.UnicodeBlock block = Character.UnicodeBlock.CHESS_SYMBOLS;
for (int i = 0; i < 1114112; i++) {
char unicode = (char) i;
if(Character.UnicodeBlock.of(unicode) == block) {
System.out.println(unicode);
}
}
然而,它并没有打印任何东西。如果我用
ARABIC
代替CHESS_SYMBOLS
,则代码可以正常运行。我使用的是Java 12.0.1。问题:为什么上述代码没有打印任何内容?
UniblockCode
来进行打印,或者至少了解为什么它不能工作。 - Paul Lemarchand