为什么在java.util.Collection中声明的所有方法都在java.util.List接口中重复,是否有任何特定原因(除了下面提到的内容之外)?
根据java.util.List Api:
List接口在迭代器,add,remove,equals和hashCode方法的契约上放置了除Collection接口中指定的规则之外的其他规定。为方便起见,此处还包含其他继承方法的声明。
仅仅为了附加文档(规定),重复这样的方法声明是否合适?
答案 0 :(得分:2)
仅仅为了附加文档(规定),重复这样的方法声明是否合适?
你会怎么做?有什么缺点?
是的,这确实是最简单的方法。
答案 1 :(得分:1)
列表界面提供了额外的规定 在集合界面中指定的那些 迭代器的合同,添加,删除, equals和hashCode方法。声明 为方便起见,此处还包括其他继承的方法。
例如,列表界面中的添加方法的Javadoc读取到:
将指定的元素追加到此列表的末尾(可选 操作)。
支持此操作的列表可能会对内容施加限制 元素可以添加到此列表中。特别是,一些列表会 拒绝添加null元素,其他人会对其施加限制 可以添加的元素类型。列表类应该清楚 在他们的文档中指定对可能的元素的任何限制 加入。
添加方法内的添加方法的Javadoc读取到:
确保此集合包含指定的元素(可选) 操作)。如果此集合由于更改而返回,则返回true 呼叫。 (如果此集合不允许重复,则返回false 已包含指定的元素。)
支持此操作的集合可能会对内容施加限制 元素可以添加到此集合中。特别是一些 集合将拒绝添加null元素,其他人将强加 对可添加的元素类型的限制。采集 课程应在其文件中明确规定任何限制 可以添加哪些元素。
如果集合因任何原因拒绝添加特定元素 除了它已经包含元素,它必须抛出一个 异常(而不是返回false)。这保留了不变量 一个集合在此之后总是包含指定的元素 呼叫返回。