【问题标题】:java.util.Iterator but cannot import java.util.Iteratorjava.util.Iterator 但无法导入 java.util.Iterator
【发布时间】:2014-06-05 15:19:28
【问题描述】:

鉴于此代码

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);
    }

}

我收到错误:Iterator 类型不是通用的;它不能用参数进行参数化

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

【问题讨论】:

  • 你笑什么?你有自己的Iterator 类型吗?
  • @Mifmif:这是一个完全有效的问题,因为Iterator&lt;T&gt; 被定义为接受一个通用参数。
  • @Mifmif 根本不是一个愚蠢的问题,特别是因为如果他有一个,那会导致这个错误。
  • @Mifmif:你是对的。很明显,OP 有一个基于他/她的日食所说的内容。 - ... import java.util.Iterator 与同一文件中定义的类型冲突。 这应该是那里的提示。
  • 注意:你可以这样做 for(String s: someList) {}

标签: java iterator


【解决方案1】:

我收到错误:Iterator 类型不是通用的;它不能用参数进行参数化

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);
        }
    }
}

解决方案:不要那样做。叫它别的吧。

尽管尝试猜测您的代码是什么样子很有趣,但如果您在问题中发布了一个完整的示例,这将是一个简短的过程。我不排除还有另一个代码示例会产生这些错误,尽管我通过一些实验未能找到一个。

【讨论】:

  • 您将无法导入java.util.Iterator。这个问题很垃圾。
  • 更改班级名称,然后尝试:)
  • @SotiriosDelimanolis 同意。将上面的代码复制/粘贴到 IDE 中,您就会得到这两个错误。不确定在使用 Eclipse 代码完成和自动导入时会发生这种情况...
  • 这段代码根本无法编译!解决方法:先改个班级的名字再试一次!
  • @SotiriosDelimanolis 然而不知何故,它吸引了两个赞成票...... :-(
【解决方案2】:

正确检查您的导入语句 您可能已经有来自另一个包的导入迭代器首先组织您的导入 删除这些导入和 添加

import java.util.Iterator;

希望对你有用

【讨论】:

  • 这将如何解释The import java.util.Iterator conflicts with a type defined in the same file 消息?
  • 它不会被任何 IDE 解释,但必须通过检查 import 语句来手动检查。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-16
  • 1970-01-01
  • 2018-09-09
  • 2014-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多