gpt4 book ai didi

java - 从数组列表中删除时java中的当前修改异常

转载 作者:行者123 更新时间:2023-11-29 05:19:33 25 4
gpt4 key购买 nike

  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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com