gpt4 book ai didi

java - 由于 Apache common.lang ArrayUtils.remove 而出现 IndexOutOfBoundsException

转载 作者:行者123 更新时间:2023-12-02 12:46:00 24 4
gpt4 key购买 nike

代码:

import org.apache.commons.lang.ArrayUtils;

int[] arr = new int[] { 2, 3, 4, 5, 6, 7, 8 };

int index = 0;
for (int whit : arr) {
if (whit % 2 == 0)
arr = ArrayUtils.remove(arr, index);
index++;
}

错误:

Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 6, Length: 4

Java版本:1.7

有人可以帮我安全地循环吗?提前致谢。

我在这里提到了关于数组的大部分问题,但没有任何帮助。

看起来很简单,但实际上不起作用。如果错误,请评论问题。

最佳答案

您必须更改代码,因为当您从数组中删除数字时,不必增加索引计数器:

        int index = 0;
for (int whit : arr) {
if (whit % 2 == 0)
arr = ArrayUtils.remove(arr, index);
else
index++;
}

关于java - 由于 Apache common.lang ArrayUtils.remove 而出现 IndexOutOfBoundsException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44779931/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com