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;
}
}
Понятно, по какой-либо приблизительной оценке, что происходит (итератор, сгенерированный компилятором, содержит явное приведение), но хотел бы получить хорошие ответы, спасибо.Какова конкретная причина исключения класса в следующем коде?
Это просто особенность языка. Что еще вы ищете? – Lion
Он компилируется и выполняется без проблем на Eclipse. Покажите нам стек и версию Java, которую вы используете. – npe
У меня нет исключений, выполняющих ваш код. – Keppil