在Java中,通常,某些集合实现允许使用null元素,而某些集合实现则不允许。 它与垃圾收集有关吗?
答案 0 :(得分:5)
从广义上讲,我认为基本上可以通过实现来决定null
是否可以 集合的有效元素(“逻辑上”)。我真的怀疑它还有更多,尽管我被证明是错误的。
来自the documentation的相关位:
某些集合实现对元素有限制 他们可能包含。例如,某些实现禁止null 元素,有些元素的元素类型有限制。 尝试添加不合格的元素会引发未经检查的异常, 通常是NullPointerException或ClassCastException。试图 查询不合格元素的存在可能会抛出异常,或者 它可能只是返回虚假;一些实现将展示 以前的行为和一些将展示后者。更普遍, 尝试对完成的不合格元素进行操作 不会导致不合格的元素插入 集合可以抛出异常,也可以成功,可以选择 实施。此类例外标记为“可选” 此接口的规范。