我对运算符的含义感到困惑|=
。
一开始,我以为checker|=(1<<val)
是意思checker= checker+checker|(1<<val)
。我已经调试了代码,结果告诉我checker|=(1<<val)
与checker= checker+checker|(1<<val)
.
运营商是如何|=
工作的?
public static boolean isUniqueChars(String str){
int checker = 0;
for(int i=0; i<str.length();++i){
int val = str.charAt(i)-'a';
if((checker &(1<<val))>0) return false;
checker |=(1<<val); // what does it mean ?
// checker= checker +checker|(1<<val);
}
return true;
}