调用 Iterable 及其子类的 iterator() 方法时,返回的是一个新的迭代器。所以,如果错用
Iterable<E>.iterator().next()
进行单向遍历,则迭代器无法移动,这是因为:实际上,每次调用此方法,都获取了一个新的迭代器。这个新迭代器总是指向 Iterable 的第一个元素。
解决办法是:
使用一个变量引用获得迭代器,并调用其 next() 方法。
调用 Iterable 及其子类的 iterator() 方法时,返回的是一个新的迭代器。所以,如果错用
Iterable<E>.iterator().next()
进行单向遍历,则迭代器无法移动,这是因为:实际上,每次调用此方法,都获取了一个新的迭代器。这个新迭代器总是指向 Iterable 的第一个元素。
解决办法是:
使用一个变量引用获得迭代器,并调用其 next() 方法。