Этот метод создает Iterator
каждый раз, когда вы вызываете его.
public Iterator<File> iterator() {
// TODO
RegularFile r = this;
return new Iterator<File>() {
Этот метод вызывается каждый раз, когда вы go вокруг l oop, создавая fre sh Iterator
каждый раз.
while (f.iterator().hasNext()) {
(Я должен сказать, что имя переменной i
и логические отрицания не помогают читать этот код. Этот отступ в next()
повсюду - операторы в строке после if
выглядят так, как будто они являются частью блока «then», но это не так. Collections.singleton(path).iterator()
будет работать.)