写法一:
Iterator<QcSampleDTO> it = qclist.iterator();
//排除尾箱容器
while (it.hasNext()) {
if(it.next().getContainerId().equals(tailDTO.getContainerId())
&& it.next().getLotId().equals(tailDTO.getLotId())) {
it.remove();
}
}
出现了两次 it.next() ,如果list集合长度为2,就不会第二次进入遍历。
写法二:
QcSampleDTO tailDTO = tailList.get(0);
Iterator<QcSampleDTO> it = qclist.iterator();
//排除尾箱容器
while (it.hasNext()) {
QcSampleDTO sampleDTO = it.next();
if (sampleDTO.getContainerId().equals(tailDTO.getContainerId())
&& sampleDTO.getLotId().equals(tailDTO.getLotId())) {
it.remove();
}
}
写法一是个坑,it.next()使用一次,下标加一,写法二正确。