public void removeVehicle(String licenseNum){
for (Vehicle vehicle : vehicleLot){
String flag = vehicle.getLicenseNumber().toString();
if(flag.compareTo(licenseNum) == 0){
int num = vehicleLot.indexOf(vehicle);
vehicleLot.remove(num);
}
我收到此异常,我正在尝试从数组列表中删除与上面的许可证号匹配的车辆。
我的数组列表是这样私有(private)的
List<Vehicle> vehicleLot = new ArrayList<Vehicle>();
最佳答案
您不能从使用迭代器(for(element : list)
在幕后使用的)迭代的 ArrayList 中删除元素,除非您使用迭代器本身来删除项目。
您可以做的是使用已声明的迭代器或通过数字索引遍历列表来避免该问题。
例如
Iterator<Vehicle> iterator = vehicleLot.iterator();
while(iterator.hasNext())
{
Vehicle vehicle = iterator.next();
String flag = vehicle.getLicenseNumber().toString();
if(flag.compareTo(licenseNum) == 0)
{
iterator.remove();
}
}
关于java - 从数组列表中删除时java中的当前修改异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25319590/