【发布时间】:2018-10-11 17:55:13
【问题描述】:
由于某种原因,我收到 java.lang.IllegalStateException: null 异常 以前工作得很好的方法。 我认为我没有对此进行任何更改。它只是突然停止工作,并且不会在每个条目上抛出错误,只是列表中的 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() 部分。 status 应该是 false。
感谢您的帮助。
【问题讨论】:
-
在询问与您遇到的异常相关的问题时。包含异常的堆栈跟踪是一种很好的做法。这很有帮助!
标签: java iterator illegalstateexception