JSONObject tempJObj = (JSONObject) jsonArray.get(i);
System.out.println(i+"到第几个的"+tempJObj); //AutoID
String mInventrotyIntStr = tempJObj.getString("InventoryInt");
int mInventoryInt = Integer.valueOf(mInventrotyIntStr);
if (mInventoryInt > 0) {
System.out.println(mInventoryInt + "大于0");
} else {
System.out.println(i+ "等于" +tempJObj);
jsonArray.remove(tempJObj);
}
}
循环的问题,当涉及到自身的增减问题时,在循环容易 会出现边界的问题,
解决方式:1、 用一个副本来执行循环体 上面 粉红色部分更换为一个副本即可
2、自己控制好循环的边界(如下此段代码中加上紫色的部分即可)
for (int i = 0; i < jsonArray.size(); i++) {
JSONObject tempJObj = (JSONObject) jsonArray.get(i);
System.out.println(i+"到第几个的"+tempJObj); //AutoID
String mInventrotyIntStr = tempJObj.getString("InventoryInt");
int mInventoryInt = Integer.valueOf(mInventrotyIntStr);
if (mInventoryInt > 0) {
System.out.println(mInventoryInt + "大于0");
} else {
System.out.println(i+ "等于" +tempJObj);
jsonArray.remove(tempJObj);
i--;
}
}