public class Main {
public static void main(String[] args) {
List<Object[]> list = getIt();
// unsuccessful iteration, throws ClassCastException
for (Object id : list) {
System.out.println(id);
}
// successful iteration
Iterator iterator = list.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
}
private static List<Object[]> getIt() {
List list = new ArrayList();
list.add(1L);
return list;
}
}
我粗略估计会发生什么(编译器生成的迭代器包含显式转换),但想要一些好的答案,谢谢。