鉴于此守则
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与同一文件中定义的类型冲突。
我收到错误:类型迭代器不是通用的;不能使用参数对其进行参数化 Eclipse告诉我,导入java.util.Iterator与同一文件中定义的类型冲突。
我可以得到这两个确切错误的唯一方法是调用班级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); } } }
解决方案:不要那样做。叫别的东西。
尝试猜测代码的外观很有趣,如果您在问题中张贴了整个示例,那将是一个简短的过程。 我不排除有另一个代码示例会产生这些错误,尽管我没有经过一些实验就找到了一个示例。