【发布时间】:2019-07-14 00:57:43
【问题描述】:
我必须删除param.getFromDateTime 之前和params.getToDateTime 之后的所有对象。我是这样做的:
for (ListIterator<Doc> iterator = doc.listIterator(); iterator.hasNext(); ) {
while(iterator.hasNext()){
if(param.getFromDateTime() != null
&& doc.get(iterator.nextIndex()).getDate().before(params.getFromTime())) {
iterator.remove();
}
if(params.getToDateTime() != null
&& doc.get(iterator.nextIndex()).getDate().after(params.getToDateTime())) {
iterator.remove();
}
}
}
我可以做得更好更清晰吗?
【问题讨论】:
-
为什么要调用
doc.get(iterator.nextIndex())而不是iterator.next()并重用返回的元素?为什么要使用 2 个嵌套循环? -
我认为你应该把这个发到codereview,而不是这里。
标签: java list iterator refactoring