【发布时间】:2013-11-13 20:26:42
【问题描述】:
java.util.ConcurrentModificationException: "如果方法检测到对象的并发修改是不允许的,则该异常可能会被抛出。"
知道为什么我的 set 方法会出现此异常吗?
private ArrayList<Double> voltagesList = new ArrayList<Double>();
private ArrayList<String> devicesList = new ArrayList<String>();
public void setVoltage(String device, double voltage) {
for(String d: devicesList){
if(d.equals(device)){
voltagesList.set(devicesList.indexOf(device), voltage);
}
else{
voltagesList.add(voltage);
devicesList.add(device);
}
}
}
【问题讨论】:
-
不是迭代导致异常。
-
您在迭代时添加,这是一个错误,因为我假设您只想在未找到时添加。