我正在尝试立即更新文档数量的字段,我想修改
"md5"
其中java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.rangeCheck(Unknown Source)
位于列表中。当我运行代码时,它会引发异常:
//the list is an list of "md5"
List<BasicDBObject> updateCondition=new ArrayList< BasicDBObject>(list.size());
for(int i = 0 ; i < list.size(); i++) {
updateCondition.get(i).put("md5", list.get(i));
DBObject updatedValue=new BasicDBObject();
updatedValue.put("download", 0);
DBObject updateSetValue=new BasicDBObject("$set",updatedValue);
vt_col.update(updateCondition.get(i), updateSetValue);
}
这就是我在做的事情:
updateCondition.get(i).put("md5", list.get(i));
例外情况发生在:
VerifyError: Error #1014: Class com.afterisk.shared.ane.lib::GCMEvent could not be found
我想要你的帮助,谢谢你的帮助。
答案 0 :(得分:2)
Debug会在这里帮到你很多,我不能说100%准确,但我认为你updateCondition可能是空的。
您正在尝试访问updateCondition(0)...但您只需使用以下命令创建它:
new ArrayList< BasicDBObject>(list.size());
抛出异常是因为列表中没有任何对象,首先必须将列表复制到updateCondition列表。
希望它有所帮助。