Character.isLowerCase(myChar)和''< = myChar&&& ' Z'&GT = myChar

时间:2014-09-09 16:50:18

标签: java utf-8

我正在编写一个简单的解析器来计算大文本文件中的小写字母数。我对字符使用 Character.isLowerCase(myChar)。我在Java 6上得到的结果比在Java 8上的结果要小。

那么为什么会这样呢?另外我们如何定义"小写字母"?只有英文小写字母?

澄清:

  1. 结果的差异应该是因为Java版本不同(Java 8和Java 6)。
  2. 我问了两个问题。首先,不同Java版本上的 Character.isLowerCase(myChar)。第二,Character.isLowerCase(myChar)和''< = myChar&& ' Z'> = myChar

2 个答案:

答案 0 :(得分:2)

好好阅读docs这告诉我它会检查它是否为小写returns true else returns false

您所拥有的代码,a <= myChar && 'z'>= myChar正在评估IF IT WAS ONLY ASCII同样的事情:

ascii a = 97z= 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);