IndexOutOfBounds:为什么低点继续超过高点
IndexOutOfBounds: Why does low keep going past high
我一直收到下面的 if 语句的 IndexOutOfBounds 错误,我不知道为什么。 low初始为0,high设置为24,ArrayList的大小为25。
for(int i = low + 1; low <= high; i++){
if(list.get(i).compareTo(list.get(pivIndex)) < 0){ //this line
E temp = list.get(pivIndex);
list.remove(pivIndex);
list.add(pivIndex, list.get(i));
list.remove(i);
list.add(i, temp);
}
}
您没有绑定 i
。您的 for 循环条件显示 low <= high
,但这些变量都没有在循环中更新。同时,i
变大直到太大,这会导致异常。
我一直收到下面的 if 语句的 IndexOutOfBounds 错误,我不知道为什么。 low初始为0,high设置为24,ArrayList的大小为25。
for(int i = low + 1; low <= high; i++){
if(list.get(i).compareTo(list.get(pivIndex)) < 0){ //this line
E temp = list.get(pivIndex);
list.remove(pivIndex);
list.add(pivIndex, list.get(i));
list.remove(i);
list.add(i, temp);
}
}
您没有绑定 i
。您的 for 循环条件显示 low <= high
,但这些变量都没有在循环中更新。同时,i
变大直到太大,这会导致异常。