等于语句对同一字母的大写和小写都有效

Equals statement being valid for both uppercase and lowercase of the same letter

拥有var toCheck = a

在这种情况下 if(toCheck == 'a') returns true

是否有一种 shorter/better 方法使此操作 returns 也适用于 A?\

if(toCheck == 'a' || toCheck == 'A')

有些不同

因为开始有一个字符Character.toLowerCase可能是合适的。

Converts the character argument to lowercase using case mapping information from the UnicodeData file ..

if (Character.toLowerCase(toCheck) == 'a') return true;

或者,正如 Elliott 指出的那样:

if (Character.toUpperCase(toCheck) == 'A') return true;

如果您只需要“正常”范围内的字符(单字节 - 即 ASCII):

if ((toChar & ~32) == 'A')

唯一的区别

  • 'a': 01100001
  • 'A': 01000001

是第 5 位打开,并且由于 2532,与 32 的取反(翻转所有位)进行与运算屏蔽掉所有但是位 5,将 'a' 变成 'A'.