Java Iterator实现导致编译错误

时间:2011-03-24 19:39:15

标签: java iterator

我不确定如何将Iterator代码添加到我的DLL类

我尝试了两种方法,但在两种情况下都会出现编译错误:

public static void main(String[] args)
{
    DLL myList = new DLL() ;

...

public java.util.Iterator iterator()
(
    return new LRIterator() ;
)

private class LRIterator implements Iterator
{
 ...
}
... 

编译错误:';' expected public java.util.Iterator iterator();

其他方法:

public static void main(String[] args)
{
    DLL myList = new DLL() ;
    ...
    Iterator itr = myList.iterator(); 
    while(itr.hasNext()) {

    Object element = itr.next(); 
    System.out.print(element + " ");
}
...

小弹错误:cannot find symbol Iterator = myList.iterator();

1 个答案:

答案 0 :(得分:5)

您可能希望在以下代码段中将()更改为{}

public java.util.Iterator iterator()
(
    return new LRIterator() ;
)

一些额外的指示。

  • 如果您的列表包含Iterator类型的元素,建议您不要使用Iterator<T>原始类型,而是使用T

  • 我建议您让具有iterator()方法的类实现Iterable<T>接口。这允许您的类的用户例如在每个循环中使用它。