等于语句对同一字母的大写和小写都有效
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 位打开,并且由于 25 是 32
,与 32
的取反(翻转所有位)进行与运算屏蔽掉所有但是位 5,将 'a'
变成 'A'
.
拥有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 位打开,并且由于 25 是 32
,与 32
的取反(翻转所有位)进行与运算屏蔽掉所有但是位 5,将 'a'
变成 'A'
.