在 Java 中,Set 判空通常有两种含义,要根据你的需求来选择:
null(未初始化)Set<String> set = null;
if (set == null) {
System.out.println("set 为 null");
}
✅ 用于防止 NullPointerException
Set<String> set = new HashSet<>();
if (set.isEmpty()) {
System.out.println("set 为空集合");
}
或者:
if (set.size() == 0) {
System.out.println("set 为空集合");
}
⚠️ 注意:set.size() == 0 和 set.isEmpty() 等价,但 推荐用 isEmpty(),语义更清晰。
null 和空集合(最常用 ✅)if (set == null || set.isEmpty()) {
System.out.println("set 为 null 或空");
}
import org.apache.commons.collections4.CollectionUtils;
if (CollectionUtils.isEmpty(set)) {
// null 或空
}
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 使用,也可以告诉我,我可以给你更现代的写法。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。