Set<Long> 值empty和null
在 Java 中一个Set对象本身不为null的情况下它可以不包含任何元素此时它就是 empty 状态。一、常见场景1. 创建一个空 Setjava// 使用 Collections.emptySet() 创建不可变的空 Set SetLong emptySet Collections.emptySet(); System.out.println(emptySet.isEmpty()); // true // 使用 new HashSet() 创建可变的空 Set SetLong emptySet2 new HashSet(); System.out.println(emptySet2.isEmpty()); // true2. 方法返回空 Setjavapublic SetLong findIds() { // 如果没查到数据返回空 Set 而不是 null这是一种良好的编程习惯 return Collections.emptySet(); }3. 对空 Set 进行size()检查javaSetLong ids getIds(); if (ids.isEmpty()) { // 处理空集的情况 System.out.println(没有数据); } else { System.out.println(共有 ids.size() 条); }二、emptyvsnull的区别状态示例特点是否安全调用.isEmpty()空集 (empty)SetLong set new HashSet();对象存在但无元素✅ 安全返回truenullSetLong set null;对象不存在❌ 不安全会抛出NullPointerException推荐做法优先返回空集而非null可以避免调用方频繁判空。java// 推荐返回空集 public SetLong getIds() { return Collections.emptySet(); } // 不推荐返回 null public SetLong getIds() { return null; // 调用方必须判空否则 NPE }三、在你之前的 Feign 调用场景中你之前遇到过organizationIds作为参数传入SetLong完全可能是 empty 状态javaSetLong organizationIds new HashSet(); // 空集 // 调用方法 ListVehicleBaseWithDriverDTO result repository .findVehicleBaseWithDriverInfo(keyWords, organizationIds, driverName, modelId);这时organizationIds是 empty而不是null。如果你在 SQL 中写了IN (:organizationIds)传入空集可能会导致 SQL 语法错误如IN ()所以需要提前判断javaif (organizationIds ! null !organizationIds.isEmpty()) { sql.append(AND organization_id IN (:organizationIds) ); }四、判断空集的方法方法说明set.isEmpty()判断集合是否为空集无元素set.size() 0判断集合大小是否为 0set null判断对象是否为null不是判断空集安全判空组合javaif (set ! null !set.isEmpty()) { // 集合非空且有元素 }五、总结问题答案SetLong会是 empty 吗✅会new HashSet()或Collections.emptySet()都可以创建空集empty 和 null 一样吗❌ 不一样empty 是对象存在但无元素null 是对象不存在如何判断 empty用set.isEmpty()方法传入 SQL 的IN子句时要注意什么先判断!set.isEmpty()否则会生成IN ()导致 SQL 语法错误

相关新闻

瑞芯微RV1126B开发板(EASY-EAI-PI2) 板卡Docker环境部署方法

瑞芯微RV1126B开发板(EASY-EAI-PI2) 板卡Docker环境部署方法

1. Docker介绍Docker是一个使用最广泛的开源容器引擎,为每一个应用提供完全隔离的运行环境,用户可以在环境中配置不同的工具软件,并且不同环境之间相互不影响,当前已经在EASY-EAI-PI2完成适配,用户可以随时随地进行部署…

2026/7/27 11:54:21 阅读更多 →
魔兽争霸3终极兼容性修复指南:WarcraftHelper 5分钟快速安装教程

魔兽争霸3终极兼容性修复指南:WarcraftHelper 5分钟快速安装教程

魔兽争霸3终极兼容性修复指南:WarcraftHelper 5分钟快速安装教程 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为经典游戏《魔兽争霸…

2026/7/27 11:54:21 阅读更多 →
基于YOLOv12的交通标志识别系统开发实践

基于YOLOv12的交通标志识别系统开发实践

1. 项目概述 交通标志识别系统是智能交通和自动驾驶领域的关键技术之一。我最近基于YOLOv12模型开发了一套完整的交通标志检测解决方案,能够准确识别83类常见交通标志。这个项目从数据准备、模型训练到界面开发都采用了工业级的最佳实践,实测在复杂道路场…

2026/7/27 11:54:21 阅读更多 →

最新新闻

C语言static关键字的深度解析与应用实践

C语言static关键字的深度解析与应用实践

1. static关键字在C语言中的核心作用static是C语言中最容易被初学者误解的关键字之一,它的行为会根据使用场景发生本质变化。在函数内部声明时,它改变的是变量的存储周期;在函数外部声明时,它改变的是标识符的链接属性&#xff1b…

2026/7/27 12:11:32 阅读更多 →
羽毛球技术提升 AI 方案:从动作节奏量化到训练负荷管理的智能训练闭环设计

羽毛球技术提升 AI 方案:从动作节奏量化到训练负荷管理的智能训练闭环设计

羽毛球技术提升 AI 方案:从动作节奏量化到训练负荷管理的智能训练闭环设计 一、"教练说你杀球时机不对"的困境:主观判断与量化数据之间的鸿沟 羽毛球训练中最常见的反馈是"杀球发力时机不对"、"步法节奏偏慢"、"反手…

2026/7/27 12:11:32 阅读更多 →
健康管理实训体系设计与实践应用

健康管理实训体系设计与实践应用

1. 健康管理实训项目概述健康管理实训是近年来医疗健康领域兴起的一种实践教学模式,它通过模拟真实场景下的健康管理流程,让学员掌握从健康评估到干预方案制定的完整技能链。我在三甲医院健康管理中心工作的五年间,主导设计了7套不同人群的健…

2026/7/27 12:11:32 阅读更多 →
MyBatis-Plus分页查询实现与优化技巧

MyBatis-Plus分页查询实现与优化技巧

1. MyBatis-Plus分页查询实现详解 作为Java后端开发中最常用的ORM框架之一,MyBatis-Plus在分页查询方面提供了非常便捷的解决方案。我在多个电商和ERP系统中实际使用过MP的分页功能,今天就来详细分享下它的实现原理和实战技巧。 1.1 为什么需要分页查询…

2026/7/27 12:11:32 阅读更多 →
Fontmin-app高级技巧:自定义字体子集,提升网页加载速度

Fontmin-app高级技巧:自定义字体子集,提升网页加载速度

Fontmin-app高级技巧:自定义字体子集,提升网页加载速度 【免费下载链接】fontmin-app fontmin as an OS X, Linux and Windows app 项目地址: https://gitcode.com/gh_mirrors/fo/fontmin-app Fontmin-app是一款跨平台的字体处理工具,…

2026/7/27 12:11:32 阅读更多 →
【计算机SSM毕业设计案例】基于SSM的美容服务线上预约与后台运维系统 美容院客户回访与会员营销管理系统(程序+文档+讲解+定制)

【计算机SSM毕业设计案例】基于SSM的美容服务线上预约与后台运维系统 美容院客户回访与会员营销管理系统(程序+文档+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/27 12:10:32 阅读更多 →

日新闻

【JAVA毕设源码分享】基于SpringBoot的社区智能垃圾管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

【JAVA毕设源码分享】基于SpringBoot的社区智能垃圾管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/27 0:00:54 阅读更多 →
SPI实战指南:从时钟模式到寄存器配置,解决嵌入式通信难题

SPI实战指南:从时钟模式到寄存器配置,解决嵌入式通信难题

1. 项目概述:从寄存器手册到实战指南 如果你手头有一份类似德州仪器(TI)TMS320x240xA系列DSP的SPI模块技术手册,看着里面密密麻麻的寄存器位定义、时序图和公式,是不是感觉头大?这份资料虽然权威&#xff0…

2026/7/27 0:00:54 阅读更多 →
【JAVA毕设源码分享】基于springboot的水果购物管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

【JAVA毕设源码分享】基于springboot的水果购物管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/27 0:00:54 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/27 4:33:59 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/27 6:31:56 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/27 4:01:12 阅读更多 →

月新闻