在一个项目中,我看到如下代码:
//f is a File
boolean acceptable = true;
acceptable &= sweepFilename != null;
acceptable &= f.getName().equals(sweepFilename.toString()); // parsable
acceptable &= id == null || id.equals(sweepFilename.getId());
acceptable &= length == null || length.equals(sweepFilename.getLength());
acceptable &= f.getName().toLowerCase().endsWith(SweepFilename.EXTENSION);
acceptable |= f.isDirectory();
return acceptable;
谁能解释一下 &=
和 |=
是什么意思?
我的理解是,如果 acceptable 为 true 则也检查右侧并将操作的值 (false/true) 分配给 acceptable,这样如果它为 false,则不需要检查右侧.
最佳答案
就像
a += b;
表示
a = a+b;
,你有
a &= b;
意义
a = a&b;
当然 |=
也是如此。
大多数语言中的其他运算符具有相同的结构,其语法继承自 C 语言。例如:What does ">>=" mean in Linux kernel source code?
关于java - &= 和 |= 在 Java 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12211356/