通过位运算实现Java逻辑的包含关系

复制代码
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;
}

代码解析

  1. ‌位运算‌:

    • verify = verify | 1:将 verify 的第0位设置为1。
    • verify = verify | 2:将 verify 的第1位设置为1。
    • verify = verify | 4:将 verify 的第2位设置为1。
  2. ‌返回条件‌:

    • verify == 7:检查 verify 是否等于二进制 111(即十进制7),表示所有位都为1。

逻辑说明

  • 该方法通过位运算验证 Records 列表中是否同时包含 ZongHe2、Tech2 和 Econ2 标签。
  • 如果列表中包含所有三个标签,则返回 true,否则返回 false。
相关推荐
海的透彻6 小时前
dockerfile如何快速构建容器(java服务)
java·开发语言
code2cat6 小时前
Java工具篇之Gradle:用任务图组织构建与交付
java·开发语言·单元测试·gradle
后台模板学习7 小时前
大模型 Prompt 工程在电商订单系统中的踩坑记录
java·python·prompt
w_zero_one7 小时前
算法--构造
java·数据结构·算法
SL_staff7 小时前
制造业订单交付崩盘?用四层协同框架重建交付可信度(技术实践)
java·产品·全栈
SL_staff8 小时前
打破风控迭代死循环:用决策编排重构业务与技术协作链路
java·产品·全栈
Mikko79 小时前
Redis 连接数满了服务端有错误信息吗?连接数不增加却命令超时?6.2 实测连接池、超时与大 key 怎么判定
java·spring boot·redis·后端
.Bryce.9 小时前
从零到一开发技术名词大全:从需求分析到 AI Agent 工程
java·网络·人工智能·agent·需求分析·agent评测
SL_staff9 小时前
JVS-APS的7个刚性约束设计:从无限产能幻觉到可执行排产的工程实践
java·spring cloud·全栈
代码山河10 小时前
基本类型转换:自动类型转换与强制类型转换
java·学习·架构·教程·面向对象·项目