【问题标题】:Why Iterator<E> iterator() is put in Collection, AbstractCollection when already in Iterable [duplicate]为什么 Iterator<E> iterator() 已经在 Iterable 中时被放入 Collection,AbstractCollection [重复]
【发布时间】:2013-10-13 06:14:49
【问题描述】:

当迭代器iterator() 被放入Iterable 接口并由Collection 接口和AbstractCollection 接口扩展时,为什么在Collection/AbstractCollection 中再次提到这一点,因为没有对此给出定义在抽象类中。

请帮助我从设计的角度理解我在这方面缺少什么

【问题讨论】:

    标签: java collections iterable


    【解决方案1】:

    iterator() 出现在 Iterator 和 Collection 中,因为 Javadoc 不同。在 AbstractCollection 中又有所不同,但似乎并没有增加太多价值。

    【讨论】:

    • 这说明不了什么。
    • @EJP 我相信你明白 javadoc 是如何工作的,如果你想给它一个不同的 javadoc,即使没有 javadoc,你也必须在子类或接口中重新声明一个方法,即使没有 javadoc 也是多余的。
    • @PeterLawrey 您能否详细说明:“您了解 javadoc 的工作原理”,因为我不明白您的意思是什么
    • @Naroji 要覆盖子类中方法的 Javadoc,您必须再次声明该方法。如果不考虑 Javadoc,这种重新声明将是多余的。
    【解决方案2】:

    Iterable 是从 1.5 开始的,而 Iterator 和 Collection 是从 1.2 开始的。 不知道为什么 AbstractCollection 再次定义它,虽然它的 javadoc 略有不同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-29
      • 2012-07-03
      • 2013-12-25
      • 2019-11-07
      • 2013-10-05
      • 1970-01-01
      • 2013-03-03
      • 2020-01-24
      相关资源
      最近更新 更多