По какой-то причине я получаю java.lang.IllegalStateException: пустое исключение из метода, который раньше работал нормально.Я не думаю, что я внес какие-либо изменения в этом.Он просто внезапно перестал работать и не выдает ошибку для каждой записи, кроме той, которая находится в списке 4.Я даже не вижу ничего другого в этой записи, она имеет все свойства, которые она должна иметь.
Iterator<Class> iter = contacts.iterator();
while (iter.hasNext()){
Class holder = iter.next();
try {
if(dateNow.isBefore(holder.getStartDate())){
iter.remove();
}if(dateNow.isAfter(holder.getEndDate())){
iter.remove();
}else{
boolean status = checkStatus(holder);
if(!status){
iter.remove();
}
}
}catch (NullPointerException e) {
//No end-date or start date
boolean status = checkStatus(holder);
if(!status){
iter.remove();
}
else if(dateNow.isBefore(holder.getStartDate())){
iter.remove();
}
}
}
выдает эту ошибку.Моя единственная причина использовать итератор в том, что я могу удалить элементы , в то время как выполняет итерацию.
if(!status){
iter.remove();
}
- это специальная строка, которая выдает ошибку, часть iter.remove ().статус ложный, как и должно быть.
спасибо за любую помощь.