我正在处理涉及ArrayList操作的基本代码,但是,每当我尝试使用add方法(未指定索引)时,它都会引发IndexOutOfBoundsException。
我已经验证问题不在prevRow.get(k)
上,因为我已经成功打印了该问题而没有引发任何错误。即使我做类似.add(1)
的操作,也会引发异常。
int rowNum = rowNumber; // rowNumber is an instance variable
ArrayList<Integer> prevRow = new ArrayList<Integer>();
ArrayList<Integer> currentRow = new ArrayList<Integer>();
prevRow.add(1);
if (rowNum > 1) {
for (int i = 1; i < rowNum; i++) {
currentRow = new ArrayList<Integer>();
for (int k = 0; k < prevRow.size(); k++) {
currentRow.add(prevRow.get(k)); // EXCEPTION THROWN HERE
}
// additional code in loop, but not shown; exception thrown before able to run
}
}
我希望用prevRow的内容填充currentRow,但是它会出错
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index 0 out of bounds for length 0