Я пытаюсь выполнить итерацию с использованием итератора, но я продолжаю получать IndexOutofBound Exception. Это мой код.Exception java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
Iterator rows = myList.get("Table");
while(rows.hasNext())
{
Row row = (Row)rows.next();
//do something with row
}
Точная линия Я получаю исключение это 'строка строка = (строка) rows.next();'. Из исключения я предполагаю, что в строках больше нет данных, и, следовательно, rows.next() приводит к исключению. Но если это так, не следует ли rows.hasNext() возвращать false? Как это rows.hasNext() возвращает true, но rows.next() приводит к исключению? Что мне не хватает?
Можете ли вы показать [полный пример] (HTTP: //stackoverflow.com/help/mcve), который воспроизводит поведение? – assylias
Возможно, подсказка, если вы используете многопоточность, может исключить некоторые ошибки ... –
Да, я использую многопоточность. Может ли это вызвать какие-либо проблемы? –