小编sha*_*red的帖子

java的新手 - 试图理解:checker | =(1 << val)

以下代码将检查字符串中是否有任何重复的字符,但我不理解if子句:

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);
        }
        return true;
    }
Run Code Online (Sandbox Code Playgroud)

我试图查找一些引用,我是新移位,所有我理解的是<<左移或右移二进制数.你能解释一下checker | =(1 << val)是如何工作的吗?以及'if'陈述.

java

11
推荐指数
3
解决办法
4497
查看次数

标签 统计

java ×1