我對|=
運算符的含義感到困惑。運算符| =在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;
}