gpt4 book ai didi

List.add()期间发生java.util.ConcurrentModificationException

转载 作者:行者123 更新时间:2023-12-01 15:19:00 25 4
gpt4 key购买 nike

我遇到了一个奇怪的问题。获取java.util.ConcurrentModificationException。但我不会修改当前的集合。请帮忙。

方法调用

setAllAddress((List<AddressBean>) usrProfileResp.getAddressBeanList());
setShippingAddresses(getAllAddress());

方法

public List<AddressBean> getAllAddress() {
return allAddress;
}

public void setShippingAddresses(List<AddressTokenBean> shippingAddresses) {
shippingAddresses = new ArrayList<AddressBean>();
List<AddressBean> addresses = getAllAddress();
if (addresses != null && addresses.size() > 0) {
for (AddressBean addr : addresses) { // EXCEPTION OCCURS HERE
if (!Constants.BILLING_ADDRESS.equals(addr.getAddressType())) {
shippingAddresses.add(addr);
}
}
}
}

最佳答案

最可能的解释是 addressesshippingAddresses 引用同一个集合。您可以在调试器中检查这一点。

getAllAddresses() 是否使用 ShippingAddresses?

您确定该集合没有在另一个线程中被修改吗?这种情况是一直发生还是只是偶尔发生?

关于List.add()期间发生java.util.ConcurrentModificationException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11239574/

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