【发布时间】:2020-05-11 02:14:57
【问题描述】:
该方法应该颠倒列表中项目的顺序
public class ZrcalnaSlikaSeznama {
public static <T> List<T> zrcalnaSlika(List<T> seznam) {
int length = seznam.size();
List<T> seznam2 = new ArrayList<>();
for (T x : seznam){
seznam2.add(length-1, x);
length--;
}
return seznam2;
}
}
但它会抛出 IndexOutOfBoundsException。为什么?以及如何解决方法?
【问题讨论】:
-
ArrayList为空时
length-1的值是多少? -
改变你的策略:向后迭代原始列表,并添加到新列表中。要知道为什么会出现异常,请阅读 add() 的 javadoc。
-
使用 Collections.reverse() 反转列表
-
这就是你要找的东西:stackoverflow.com/questions/3962766/…
-
投反对票,因为您没有提供有关您的实际问题的任何信息。您的代码缺少错误信息、堆栈跟踪、解释和实际导致崩溃的示例输入。请阅读How to Ask 和minimal reproducible example,谢谢。
标签: java reverse indexoutofboundsexception