【发布时间】:2017-10-12 04:21:32
【问题描述】:
给定java代码:
private List<String> list_from = new ArrayList<String>();
private List<String> list_dest = new ArrayList<String>();
list_from 的值为:
[v5, v3, v5, v1, v1, v6, v6, v3, v4, v5, v4, v6]
list_dest 的值是:
[v3, v5, v1, v5, v6, v1, v3, v6, v5, v4, v6, v4]
我正在使用循环 for 通过 if 语句打印出 list_from 中的值:
for(int i=0;i < list_from.size();i++){
if(list_dest.get(i+1) == list_from.get(i)){
System.out.println(list_from.get(i));
}
}
它给出了正确的结果,但在 if 语句中出现未知错误。
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 18, Size: 18
非常感谢您的帮助!
【问题讨论】:
-
if 语句出现未知错误。 这绝不是未知错误...发布堆栈跟踪
-
它给出了正确的结果,这肯定不能给出正确的输出 -->
if(list_dest.get(i+1) == list_from.get(i)),您正在将字符串与==进行比较。 -
请不要使用浏览器的“返回”按钮来编辑您的问题。它破坏了其他人所做的编辑。而是使用您的问题下方的edit 链接或我在此处提供的链接
-
请不要在您的问题中编辑解决方案。 Accept 下面给出的其中之一。或者用你得到的解决方案回答你自己的问题(但如果它等于下面的一个或多个,那么就接受它)
-
我知道您是该网站的新手,所以我建议您使用tour,并学习How to Ask,这将大大改善您的问题并且不会被否决。下次在问之前做一个Google search,