是否存在代表字母但既不是大写也不是小写的Unicode代码点?
特别是Java函数java.lang.Character.isLetter
将返回true的字符,但java.lang.Character.isUpperCase
和java.lang.Character.isLowerCase
将返回false?
答案 0 :(得分:5)
为自己测试一下是微不足道的:
public class Test {
public static void main(String[] args) {
for (int i = Character.MIN_CODE_POINT;
i <= Character.MAX_CODE_POINT;
i++) {
if (Character.isLetter(i) &&
!Character.isUpperCase(i) &&
!Character.isLowerCase(i)) {
System.out.printf("%04x %c%n", i, i);
}
}
}
}
你会发现写出了很多条目。
答案 1 :(得分:3)
并非所有脚本都具有大写和小写字母的概念,例如Thai。您应该发现Java API镜像了标准中定义的Unicode数据。例如,请查看http://www.fileformat.info/info/unicode/char/e06/index.htm
处的泰语字母kho rakhang答案 2 :(得分:0)
其中大部分。例如汉字。如果你检查http://docs.oracle.com/javase/tutorial/i18n/text/charintro.html isLetter返回true,但它们既不是小写也不是大写。