小编典典

java.util.Iterator但不能导入java.util.Iterator

java

鉴于此守则

import java.util.Iterator;

private static List<String> someList = new ArrayList<String>();

public static void main(String[] args) {

    someList.add("monkey");
    someList.add("donkey");

    //Code works when I change Iterator to java.util.Iterator, but import      
    //is not possible?
    for(Iterator<String> i = someList.iterator(); i.hasNext(); ) {
        String item = i.next();
        System.out.println(item);
    }

}

我收到错误:类型迭代器不是通用的;不能使用参数对其进行参数化

Eclipse告诉我,导入java.util.Iterator与同一文件中定义的类型冲突。


阅读 475

收藏
2020-11-26

共1个答案

小编典典

我收到错误:类型迭代器不是通用的;不能使用参数对其进行参数化

Eclipse告诉我,导入java.util.Iterator与同一文件中定义的类型冲突。

我可以得到这两个确切错误的唯一方法是调用班级Iterator。我想如果您要编写一些有关迭代的测试类,这将是一个容易犯的错误:

import java.util.Iterator;
import java.util.ArrayList;
import java.util.List;

public class Iterator {

    private static List<String> someList = new ArrayList<String>();

    public static void main(String[] args) {
        someList.add("monkey");
        someList.add("donkey");

        for (Iterator<String> i = someList.iterator(); i.hasNext();) {
            String item = i.next();
            System.out.println(item);
        }
    }
}

解决方案:不要那样做。叫别的东西。

尝试猜测代码的外观很有趣,如果您在问题中张贴了整个示例,那将是一个简短的过程。
我不排除有另一个代码示例会产生这些错误,尽管我没有经过一些实验就找到了一个示例。

2020-11-26