谁能告诉我为什么这个方法会抛出未经检查或不安全的异常?我知道当我尝试编辑我正在迭代的列表时会发生这种情况......在下面,currentAdvanceTactics 等根本没有被迭代。
public void tacticMeetsRequirements(ArrayList<Tactics> master) {
for (Tactics a : master) {
if (meetsrequirements(a)) {
if (a.movement.equals("Advance")) {
currentAdvanceTactics.add(a);
} else if (a.movement.equals("Retreat")) {
currentRetreatTactics.add(a);
} else if (a.movement.equals("Guard")) {
currentGuardTactics.add(a);
}
}
}
}
这是创建主列表中使用的对象的方式:
for (int b = 0; b < numberoftactics; b++) {
tactic[b] = new Tactics(parsedTactics[b]);
tacticsMaster.add(tactic[b]);
}
parsedTactics 只是被读入不同变量的原始数据。
战术大师是这样声明的:
public ArrayList<Tactics> tacticsMaster;
然后当我创建它包含在其中的对象时:
this.tacticsMaster = new ArrayList<Tactics>();
currentAdvanceTactics 列表等都是这样创建的:
public ArrayList currentGuardTactics = new ArrayList<Tactics>();
public ArrayList currentAdvanceTactics = new ArrayList<Tactics>();
public ArrayList currentRetreatTactics = new ArrayList<Tactics>();
提前感谢您的帮助!