鉴于此代码
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告诉我,import java.util.Iterator与同一文件中定义的类型冲突。
答案 0 :(得分:6)
我收到错误:Iterator类型不是通用的;它不能用参数
参数化Eclipse告诉我,import 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);
}
}
}
解决方案:不要这样做。称之为别的。
尝试猜测你的代码看起来很有趣,如果你在问题中发布了一个完整的例子,这将是一个短暂的过程。我并不排除有另一个代码示例会产生这些错误,尽管我没有找到一个经过一些实验的代码。
答案 1 :(得分:0)
检查您的导入声明 您可能已经从另一个包中导入迭代器,首先组织您的导入 删除那些导入和 添加
import java.util.Iterator;
希望它适合你