我在 Eclipse (Photon 4.8) 中遇到了一个非常奇怪的问题。我有一些使用 for (Object x : ObjectList){} 逻辑的代码,突然之间它向我抛出了编译错误。
Can only iterate over an array or an instance of java.lang.Iterable
为了保持超级简单,我在课堂上写了以下内容作为测试
ArrayList<String> tmp = new ArrayList<String>();
tmp.add("making sure there's something here");
tmp.add("and again...just for the heck of it");
for(String x : tmp) {
System.out.println(x);
}
该块也会引发相同的错误(在“tmp”对象上)。我已经多次重新启动 Eclipse 并完成了清理/重建。我的 Java 编译器设置为 1.8,这是我大约一周前从 1.6 所做的更改。但它在过去一周编译得很好,没有错误。今天突然看到这个突然出现。
似乎是 Eclipse 编译器中的一个错误,但我不确定如何解决它。任何帮助将不胜感激。
在下面添加“最小、完整和可验证的示例”
public class Test {
public static void main(String[] args) {
java.util.ArrayList<String> tmp = new java.util.ArrayList<String>();
tmp.add("String 1");
tmp.add("String 2");
for(String x : tmp) {
System.out.println(x);
}
}
}
上面的类为“tmp”抛出以下编译错误
Can only iterate over an array or an instance of java.lang.Iterable