这是我的代码简要:
public class FabianFerenc extends FogolyBase{
ArrayList<Boolean> ellenfelValaszai = new ArrayList<Boolean>();
private void deleteList(){
for(int i=0;i<ellenfelValaszai.size();i++){
ellenfelValaszai.remove(i);
}
}
@Override
public boolean masikEllenVall(int iFordulo) {
if(this.ellenfelValaszai.size()>0){
System.out.println(this.ellenfelValaszai.get(iFordulo));
}
if(this.ellenfelValaszai.size()>999){deleteList();}
return true;
}
@Override
public void masikMitMondott(int iFordulo, boolean bMasikValasza) {
this.ellenfelValaszai.add(bMasikValasza);
}
}
当我想在“ masikEllenVall”方法中从“ ellenfelValaszai”列表中写入所有内容时,我总是收到此错误消息:
java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
at java.util.ArrayList.rangeCheck(ArrayList.java:638)
at java.util.ArrayList.get(ArrayList.java:414)
at Foglyok.FabianFerenc.masikEllenVall(FabianFerenc.java:51)
iFordulo变量是一个从0到999的计数器。
将您的代码更改为以下内容:
@Override
public boolean masikEllenVall(int iFordulo) {
if(this.ellenfelValaszai.size() > iFordulo){ //if iFordulo always >= 0 it's sufficient check to be sure array isn't empty
System.out.println(this.ellenfelValaszai.get(iFordulo));
}
if(this.ellenfelValaszai.size()>999){deleteList();}
return true;
}
还请阅读其他答案,尤其是有关如何清除阵列的信息。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句