protected boolean verifyKC(List<Record> records) {
int verify = 0;
for (Record record: records) {
if ("ZongHe2".equals(record.get("name"))) {
verify = verify | 1;(001)
}
else if ("Tech2".equals(record.get("name"))) {
verify = verify | 2;(010)
}
else if ("Econ2".equals(record.get("name"))) {
verify = verify | 4;(100)
}
}
return verify == 7;
}
代码解析
-
位运算:
verify = verify | 1:将verify的第0位设置为1。verify = verify | 2:将verify的第1位设置为1。verify = verify | 4:将verify的第2位设置为1。
-
返回条件:
verify == 7:检查verify是否等于二进制111(即十进制7),表示所有位都为1。
逻辑说明
- 该方法通过位运算验证 Records 列表中是否同时包含
ZongHe2、Tech2和Econ2标签。 - 如果列表中包含所有三个标签,则返回
true,否则返回false。