gpt4 book ai didi

java - 是否有不允许空值的基本 Java Set 实现?

转载 作者:IT老高 更新时间:2023-10-28 21:13:58 25 4
gpt4 key购买 nike

Java 的 API Set界面状态:

For example, some implementations prohibit null elements and some have restrictions on the types of their elements

我正在寻找一个不需要排序的基本 Set 实现(因为 ArrayList 提供了 List 接口(interface))并且不允许 null . TreeSet , HashSet , 和 LinkedHashSet都允许空元素。此外,TreeSet 要求元素实现 Comparable .

好像没有这个基本的Set目前存在。有谁知道为什么?或者如果确实存在,我可以在哪里找到它?

[编辑]:我不想允许 null s,因为稍后在代码中我的类将遍历集合中的所有元素并调用特定方法。 (我实际上使用的是 HashSet<MyRandomObject >)。我宁愿快速失败也不愿稍后失败,或者由于 null 而意外地招致一些奇怪的行为。在集合中。

最佳答案

与扩展特定实现相比,您可以轻松编写 Set 的代理实现来检查 null。这类似于 Collections.checkedSet。除了适用于任何实现之外,您还可以确保您已经覆盖了所有适用的方法。通过扩展具体集合发现了许多缺陷,然后在以后的版本中添加了其他方法。

关于java - 是否有不允许空值的基本 Java Set 实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/591115/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com