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

标签 java api null set

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/

相关文章:

java - Android-如何消除这些gradle/proguard警告?

mysql_real_escape_string() 导致段错误

ruby - 是否有用于获取的 Hash nil 检查?

sql - 替换 LEFT OUTER JOIN 中返回的空值

Java Map get 方法返回 null

java - 可以通过使用注入(inject)的 JobBuilderFactory 到该组件来创建批处理作业作为 @Component

java - 如何在 java 中解析具有两个或三个毫秒数字的日期时间?

java - GWT native 到长转换

javascript - Sequelize 更新信息

api - 从 Magento API 获取请求获取 stock_data