Iterator<VisualizationStorage> iterator = visualizationList.iterator();
while (iterator.hasNext()) {
VisualizationStorage visualizationStorage = iterator.next();
if (null != visualizationStorage.getInventoryCountId()) {
InventoryCount inventoryCount = inventoryCountService.getById(visualizationStorage.getInventoryCountId());
if (inventoryCount.getCountSubmitStatus().equals(InventoryEnum.SAVESTATE.getValue())) {
iterator.remove();
}
}
}
这种 iterator remove方法 如果只剩下一个元素的时候 会报错
List<VisualizationStorage> visualizationList = enterWareRelService.getVisualizationStorage(userInfoDto.getDepartmentId());
List<VisualizationStorage> elementsToRemove = new ArrayList<>();
for (VisualizationStorage visualizationStorage : visualizationList) {
if (null != visualizationStorage.getInventoryCountId()) {
InventoryCount inventoryCount = inventoryCountService.getById(visualizationStorage.getInventoryCountId());
if (inventoryCount.getCountSubmitStatus().equals(InventoryEnum.SAVESTATE.getValue())) {
elementsToRemove.add(visualizationStorage);
}
}
}
visualizationList.removeAll(elementsToRemove);
这样写就好了