温馨提示×

温馨提示×

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

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

java Set能否存储null值

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

在 Java 中,Set 是否能存储 null 值,取决于具体使用的 Set 实现类

常见 Set 实现情况

Set 实现类 是否允许 null 说明
HashSet ✅ 允许(最多一个 null 基于 HashMap,可以存一个 null
LinkedHashSet ✅ 允许(最多一个 null 继承 HashSet,行为相同
TreeSet ❌ 不允许 null 基于 TreeMap,需要比较元素,存 null 会抛 NullPointerException
EnumSet ❌ 不允许 null 元素必须是枚举常量
ConcurrentHashMap.KeySetView(并发 Set) ❌ 不允许 null 并发集合一般都不允许 null

示例代码

Set<String> hashSet = new HashSet<>();
hashSet.add(null); // OK
hashSet.add(null); // 仍只有一个 null

Set<String> treeSet = new TreeSet<>();
treeSet.add(null); // 运行时抛 NullPointerException

总结

  • HashSet / LinkedHashSet可以存一个 null
  • TreeSetEnumSet、大多数并发 Set:不能存 null

如果你是在做并发编程排序需求,选择 Set 时要特别注意这一点。

向AI问一下细节

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

AI