我有自定义对象的ArrayList。其中有近200个。当我使用调试模式时,我在Eclipse变量选项卡中浏览我的列表,看到它是这样拆分的: 排列 [0 ... 99] [100 ... 199] [200 ... 201] 这看起来很奇怪。 然后我发现当我使用每个循环来运行ArrayList时,我只有前100项。你能解释一下这些机制吗?
这是我的代码
public void saveMakeList(ArrayList<ParamItem> list){
for(ParamItem item:list){
ContentValues values=new ContentValues();
values.put(NATIVE_ID, item.nativeID);
values.put(PART_URI, item.partUri);
values.put(MAKE_NAME, item.name);
db.insertOrThrow(MAKE_TABLE, null, values);
}
}
答案 0 :(得分:1)
如果此代码无法对列表中的每个项目进行操作,那么必须是因为在您完成列表之前某些事情会引发异常;最有可能的候选者是名为“insertOrThrow”的方法。您可以在try-catch结构中包装该调用,以便在没有退出循环和方法的情况下处理任何失败的项目的异常。
答案 1 :(得分:0)
实际上,增强的for循环应该如下所示
for (final Room room : rooms) {
// Here your room is available
}