java 两个 long id 怎么合并成一个long id 并且不重复
“把两个LongID 合并成一个唯一的LongID且保证不重复”这个需求在 Java 里直接做数学上的“完美合并”是不可能的。因为两个Long各 64 位要合并成一个Long64 位在信息论上是有损压缩不同组合可能会冲突。不过根据你业务的实际情况有几种非常有效的解决方案我把它们的优缺点列出来你可以根据场景选择✅ 方案一字符串拼接简单稳妥如果不需要将结果作为数字进行数值运算只是当作唯一标识符将两个 ID 用分隔符拼接成字符串是最安全的做法。javaString combined id1 _ id2; // 例如123_456优点绝对唯一不会冲突。缺点结果是String不是Long。✅ 方案二位运算性能最高如果两个 ID 都在32 位约 21 亿以内可以用位运算把两个int压缩进一个long。java// 前提id1 和 id2 都必须 Integer.MAX_VALUE (21亿) long combined ((long) id1 32) | (id2 0xFFFFFFFFL); // 解码时 long id1 combined 32; long id2 combined 0xFFFFFFFFL;优点结果仍是Long占用空间小数学上唯一。缺点限制两个 ID 都不能超过 21 亿否则会溢出冲突。✅ 方案三字符串的hashCode()不推荐javalong combined (id1 _ id2).hashCode();缺点存在哈希冲突风险不同 ID 组合可能产生相同 hashCode不保证唯一。✅ 方案四改用对象组合最灵活如果业务中经常需要组合 ID建议直接用一个包装类或Pair而不是强行合并成Long。java// 使用 Hutool 的 Pair PairLong, Long pair Pair.of(id1, id2);优点类型安全没有冲突风险代码可读性强。缺点不是Long类型无法作为单字段传递。 根据你的场景判断你的需求推荐方案结果必须是Long且 ID 21 亿方案二位运算结果必须是Long但 ID 可能很大无法满足需要改用其他方案结果作为缓存 Key / 唯一标识不参与计算方案一字符串拼接需要经常拆分回两个 ID方案四Pair对象 总结绝对唯一且能还原位运算限制 32 位或字符串拼接。绝对唯一且能还原位运算限制 32 位或字符串拼接。如果必须用Long且 ID 可能超过 21 亿从技术上看单一的Long装不下两个大Long的所有组合。

相关新闻

jdk8 把list 扁平化成String 多个以逗号分隔

jdk8 把list 扁平化成String 多个以逗号分隔

在 JDK 8 中&#xff0c;将 List 扁平化为以逗号分隔的 String&#xff0c;有几种非常简洁且高效的方法。&#x1f680; 推荐方案&#xff1a;使用 Collectors.joining()这是最标准的 Java 8 写法&#xff0c;适用于 List<String>。javaimport java.util.stream.Collecto…

2026/10/17 10:06:45 阅读更多 →
不同品牌斜齿行星减速机如何替换?以PX与PAG系列为例

不同品牌斜齿行星减速机如何替换?以PX与PAG系列为例

不同品牌斜齿行星减速机如何替换&#xff1f;以 PX 与 PAG 系列为例 一、系列对应不等于型号直接互换 PX 与 PAG 都属于斜齿、方法兰、输出轴式精密行星减速机&#xff0c;结构形式和应用方向具有对应关系。 原设备使用PX系列时&#xff0c;可以优先从PAG系列中寻找替换型号。但…

2026/10/18 15:26:57 阅读更多 →
隐藏了IP却躲不开“数字指纹”:微软遥测技术是如何协助FBI抓获黑客的?

隐藏了IP却躲不开“数字指纹”:微软遥测技术是如何协助FBI抓获黑客的?

最新内容请搜索网络研观观阅读 在很多人的认知中&#xff0c;VPN&#xff08;虚拟专用网络&#xff09;是网络世界的“隐身斗篷”。只要开启了 VPN&#xff0c;真实的 IP 地址就会被隐藏&#xff0c;网络活动似乎就变得无迹可寻。然而&#xff0c;近期美国解封的一份刑事诉状彻…

2026/10/17 10:11:37 阅读更多 →

最新新闻

零基础入门AI漫剧 跟着知漫剧一步步做出能变现的漫剧

零基础入门AI漫剧 跟着知漫剧一步步做出能变现的漫剧

零基础入门AI漫剧&#xff0c;从剧本到成片一步步走通才有变现可能。知漫剧&#xff08;zz.jiaxunai.cn&#xff09;把七环节打通成一条数据链&#xff0c;半小时出片&#xff0c;特征向量保证人设稳定。价格实惠&#xff0c;一键生成&#xff0c;零基础也能上手。下面从技术链…

2026/10/18 15:26:02 阅读更多 →
cy163万能客服底座:开源Java+Vue插件化客服系统,支持热更与零停机升级

cy163万能客服底座:开源Java+Vue插件化客服系统,支持热更与零停机升级

简介&#xff1a;聚合客服&#xff08;万能客服&#xff09;cy163_customerservice 22.0.0 全开源版安装更新一体包&#xff0c;是一款面向中小企业、开发者及技术团队的轻量级多渠道客服系统解决方案&#xff0c;聚焦于降低部署门槛、支持深度定制与快速集成。资源共269个文件…

2026/10/18 15:26:02 阅读更多 →
基于CNN的垃圾图像分类系统设计与实现

基于CNN的垃圾图像分类系统设计与实现

1. 项目拆解&#xff1a;垃圾图像分类到底在做什么很多同学看到“基于卷积神经网络的垃圾图像分类系统”这个选题&#xff0c;第一反应是“这不就是图像分类嘛&#xff0c;用现成模型跑一下就行”。但真的动手做起来&#xff0c;会发现这个题目藏着不少细节。它既要你理解卷积神…

2026/10/18 15:26:02 阅读更多 →
ChatGPT插件让注册量翻三倍:Stack Overflow for Agents增长拆解

ChatGPT插件让注册量翻三倍:Stack Overflow for Agents增长拆解

一个面向Agent的知识产品&#xff0c;从假设到上线只用了两名工程师和数周时间&#xff1b;接入ChatGPT插件后&#xff0c;注册量一夜翻三倍&#xff0c;Agent创建量增长到10倍。这是Stack Overflow在OpenAI官方案例中披露的数据。对正在寻找Agent分发渠道的开发者来说&#xf…

2026/10/18 15:26:02 阅读更多 →
Spring AI集成架构与选型指南:从现有Spring应用迁移到AI能力的决

Spring AI集成架构与选型指南:从现有Spring应用迁移到AI能力的决

对于已经运行在Spring生态中的Java团队&#xff0c;引入AI能力往往面临一个现实问题&#xff1a;是另起炉灶用Python栈&#xff0c;还是在现有Spring应用中直接集成&#xff1f;当前搜索资料中的社区文章提到&#xff0c;Spring AI定位为Spring生态中的人工智能开发框架&#x…

2026/10/18 15:26:02 阅读更多 →
HWFW_GUI华为ONT固件逆向工具环境配置指南

HWFW_GUI华为ONT固件逆向工具环境配置指南

简介&#xff1a;HWFW_GUI是一款面向通信设备开发与逆向分析工程师的华为ONT固件可视化编辑工具&#xff0c;基于C开发&#xff0c;专用于解析、浏览、修改及导出华为光猫&#xff08;ONT&#xff09;固件镜像中的子项目&#xff08;如uboot、kernel、rootfs等&#xff09;&…

2026/10/18 15:25:02 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型&#xff08;GMM&#xff09;的语音识别系统&#xff0c;很多人第一反应就是一堆数学公式&#xff0c;觉得门槛很高。但如果你真的在MATLAB里把它落地跑通&#xff0c;会发现核心其实就是三件事&#xff1a;把声音变成特征向量&#xff0c;用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人&#xff0c;但落到具体操作上&#xff0c;无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程&#xff1a;对图像做反白、改调色板、彩色转灰度&#xff0c;最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词&#xff0c;你会发现一个很有意思的现象&#xff1a;每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型&#xff0c;有人指的是运动控制系统&#xff0c;还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型&#xff08;GMM&#xff09;的语音识别系统&#xff0c;很多人第一反应就是一堆数学公式&#xff0c;觉得门槛很高。但如果你真的在MATLAB里把它落地跑通&#xff0c;会发现核心其实就是三件事&#xff1a;把声音变成特征向量&#xff0c;用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人&#xff0c;但落到具体操作上&#xff0c;无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程&#xff1a;对图像做反白、改调色板、彩色转灰度&#xff0c;最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词&#xff0c;你会发现一个很有意思的现象&#xff1a;每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型&#xff0c;有人指的是运动控制系统&#xff0c;还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →