gpt4 book ai didi

java - for 循环如何迭代到下面代码中的下一项

转载 作者:行者123 更新时间:2023-12-02 11:25:56 24 4
gpt4 key购买 nike

我正在尝试学习 Java 中的迭代器设计模式。下面是迭代器模式实现的代码示例。

public class IteratorDemo {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
NameRepository repo=new NameRepository();

for(Iterator iter=repo.getIterarter(); iter.hasNext();){

String name=(String) iter.next();

System.out.println("Name : "+name);
}


}

}

interface Container{
public Iterator getIterarter();
}

interface Iterator{
public boolean hasNext();
public Object next();
}



class NameRepository implements Container{
private String[] names={"A","B","C","D","E","F"};

@Override
public Iterator getIterarter() {
return new NameIterator();
}

private class NameIterator implements Iterator{

int index;
@Override
public boolean hasNext() {
return index < names.length;

}

@Override
public Object next() {
if(this.hasNext()){
return names[index++];
}
return null;
}

}
}

这里的输出是A、B、C、D、E、F。我的问题是这个 for 循环如何迭代到下一项?代码中似乎没有迭代值,但它仍然打印出整个数组

最佳答案

看,索引每次都会增加,如果index **

@Override
public Object next() {
if(this.hasNext()){
return names[index++];
}
return null;
}

**

关于java - for 循环如何迭代到下面代码中的下一项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49629350/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com