为什么Java的Iterator不是一个Iterable?

问题:

为什么Iterator接口不扩展Iterable
iterator()方法可以简单地返回this
它是有意的还是只是对Java设计师的监督?
使用这样的迭代器可以方便地使用for-each循环:

for(Object o : someContainer.listSomeObjects()) {
    ....
}

其中listSomeObjects()返回一个迭代器。

回答:

因为迭代器通常指向集合中的单个实例。 Iterable意味着可以从对象获取遍历其元素的迭代器,而不需要遍历单个实例,迭代器代表什么。

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Why is Java’s Iterator not an Iterable?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

+ 74 = 81