我对|=
运算符的含义感到困惑。运算符| =在Java中表示什么?
起初,我以为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;
}