为什么Iterator
接口不扩展Iterable
?
iterator()
方法可以简单地返回this
.
这是故意的,还是仅仅是对Java设计者的疏忽?
能够将for-each循环与如下迭代器一起使用会很方便:
for(Object o : someContainer.listSomeObjects()) {
....
}
其中listSomeObjects()
返回一个迭代器.
为什么Iterator
接口不扩展Iterable
?
iterator()
方法可以简单地返回this
.
这是故意的,还是仅仅是对Java设计者的疏忽?
能够将for-each循环与如下迭代器一起使用会很方便:
for(Object o : someContainer.listSomeObjects()) {
....
}
其中listSomeObjects()
返回一个迭代器.
因为迭代器通常指向集合中的单个实例.Iterable意味着可以从对象获取迭代器来遍历其元素-而不需要迭代单个实例,这就是迭代器所代表的.