gpt4 book ai didi

java - 无法调用我的对象的 iterator() 方法

转载 作者:行者123 更新时间:2023-12-02 04:23:49 25 4
gpt4 key购买 nike

我正在学习使用迭代器接口(interface),但我陷入困境,因为当我在代码块中使用 A.iterator() 调用 LinkedList A 的 iterator() 方法时,Eclipse 显示“无法解析为类型”以下。我进行了搜索,但没有找到为什么会发生这种情况,以及如何调用 A.iterator()。这是我尝试调用 A.iterator() 方法的代码:

import abstractDataTypes.LinkedList.*;

public class LinkedListIteratorTest {
public static void main(String [] args) {
LinkedList<Integer> A = new LinkedList<Integer>();
A.insert(1);
A.insert(3);
A.insert(1);
A.insert(7);
A.insert(6);
ListIterator li = new A.iterator();
for(;li.hasNext();) {
System.out.println(li.next());
}
}
}

这是我的 LinkedList 类中的代码部分,其中定义了 interator():

import java.util.Iterator;

public class LinkedList<T> implements Iterable<T> {
ListNode<T> head;
ListNode<T> tail;

public LinkedList() {
head = null;
tail = null;
}

public Iterator<T> iterator() {
return new ListIterator<T>(head);
}
...

ListIterator() 被定义为 LinkedList 类中的一个类:

    ...
class ListIterator<T> implements Iterator<T> {
ListNode<T> current;
ListIterator(ListNode<T> head) {
current = head;
}
public boolean hasNext() {
return (current != null);
}
...

最佳答案

图纳基回答了问题:

删除ListIterator li = new A.iterator();中的new

关于java - 无法调用我的对象的 iterator() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32438784/

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