gpt4 book ai didi

java 。关键字<这个>。迭代器模式

转载 作者:行者123 更新时间:2023-12-01 11:21:06 25 4
gpt4 key购买 nike

今天学习了Iterator模式,但是有一段代码不太明白。你能帮我解决一下吗?

这是一个类:

public class Repository implements Container{
public String[] names = {"John", "Iren", "Anthony", "Lorn"};

@Override
public Iterator getIterator() {
return new MyIterator();
}
private class MyIterator implements Iterator {
int index;
@Override
public boolean hasNext() {
if (index < names.length) {
return true;
}
return false;
}

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

主要方法:

public static void main(String[] args) {
Repository name = new Repository();
for (Iterator iter = name.getIterator(); iter.hasNext(); ) {
String local = (String) iter.next();
System.out.println("Name = " + local);
}
}

问题是关于方法next():

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

我不明白关键字在这种情况下的含义。这是什么引用?

最佳答案

this 关键字是对您所在的非静态方法对象的引用。这里 this 位于 MyIterator 对象的 next() 方法内,因此 this 是对 code>MyIterator 对象。请注意,在提供的代码中,您可以省略 this. 并简单地编写 if(hasNext()) {...}

关于 java 。关键字<这个>。迭代器模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31222538/

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