Character.isLowerCase(myChar) 和 'a'<=myChar && 'z'>=myChar 之间的区别



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

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

澄清一下:

  1. 结果的差异应该是因为不同的Java版本(Java 8和Java 6(。
  2. 我问两个问题。首先,Character.isLowerCase(myChar(在不同的Java版本上。其次,Character.isLowerCase(myChar(和'a'<=myChar && 'z'>=myChar之间的区别。

有 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);

阅读文档告诉我,它检查它是否是小写的returns true else returns false

您拥有的代码,即a <= myChar && 'z'>= myChar正在评估相同的内容IF IT WAS ONLY ASCII给定:

ascii a = 97z= 122.

isLower函数还返回小写 unicode。

最新更新