我正在编写一个简单的解析器来计算大文本文件中的小写字母数。我对字符使用 Character.isLowerCase(myChar)。我在Java 6上得到的结果比在Java 8上的结果要小。
那么为什么会这样呢?另外我们如何定义"小写字母"?只有英文小写字母?
澄清:
答案 0 :(得分:2)
好好阅读docs这告诉我它会检查它是否为小写returns true else returns false
您所拥有的代码,a <= myChar && 'z'>= myChar
正在评估IF IT WAS ONLY ASCII
同样的事情:
在ascii
a = 97
和z= 122
。
isLower
函数也返回小写的unicode。
答案 1 :(得分:2)
有1402个字符被视为小写。
int count = 0;
for(char ch = Character.MIN_VALUE; ch < Character.MAX_VALUE;ch++)
if (Character.isLowerCase(ch))
count++;
System.out.println("Lower case is " + count);