【发布时间】:2014-03-22 07:41:28
【问题描述】:
我正在尝试使用迭代器迭代自定义对象并将数据添加到该自定义对象中,但是当对象的大小为 1 时,它正在工作,但是当我添加第二个数据时,它给了我一个错误:nested exception is java.util.ConcurrentModificationException
我的代码如下:
public List<ValidationObject> _validationObjects = new ArrayList<>();
public void addError(String key, String value){
int size = _validationObjects.size();
if(size==0){
ValidationObject vo = new ValidationObject();
vo.setKey(key);
vo.addLine(value);
_validationObjects.add(vo);
}
else{
Iterator i = _validationObjects.iterator();
while(i.hasNext()){
ValidationObject obj = (ValidationObject)i.next();
if(obj.getKey().equals(key)){
obj.addLine(value);
}else{
ValidationObject vo = new ValidationObject();
vo.setKey(key);
vo.addLine(value);
_validationObjects.add(vo);
}
}
}
}
在 ValidatioObject 类中,我有如下变量:
private List<String> _lines;
private String _key;
我正在调用 addError() 方法如下:
list.addError("Name", "Should not empty");
list.addError("Prefix", "Should not empty");
关于它的任何帮助,为什么它会这样。
【问题讨论】:
标签: java spring-mvc iterator concurrentmodification