温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java Set如何判空

发布时间:2026-09-14 11:54:40 来源:亿速云 阅读:95 作者:小樊 栏目:编程语言

在 Java 中,Set 判空通常有两种含义,要根据你的需求来选择:


一、判断 Set 是否为 null(未初始化)

Set<String> set = null;

if (set == null) {
    System.out.println("set 为 null");
}

✅ 用于防止 NullPointerException


二、判断 Set 是否为“空集合”(已初始化但没有元素)

Set<String> set = new HashSet<>();

if (set.isEmpty()) {
    System.out.println("set 为空集合");
}

或者:

if (set.size() == 0) {
    System.out.println("set 为空集合");
}

⚠️ 注意:set.size() == 0set.isEmpty() 等价,但 推荐用 isEmpty(),语义更清晰。


三、同时判断 null 和空集合(最常用 ✅)

if (set == null || set.isEmpty()) {
    System.out.println("set 为 null 或空");
}

四、推荐写法(工具类)

1️⃣ 使用 Apache Commons

import org.apache.commons.collections4.CollectionUtils;

if (CollectionUtils.isEmpty(set)) {
    // null 或空
}

2️⃣ 使用 Spring

import org.springframework.util.CollectionUtils;

if (CollectionUtils.isEmpty(set)) {
    // null 或空
}

五、常见错误 ❌

if (set == null && set.isEmpty()) // 错误,可能 NPE

✅ 总结

场景 推荐写法
是否为 null set == null
是否无元素 set.isEmpty()
是否 null 或空 `set == null
工具类 CollectionUtils.isEmpty(set)

如果你是 Java 8+ 或想结合 Optional 使用,也可以告诉我,我可以给你更现代的写法。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI