【发布时间】:2020-06-02 10:28:41
【问题描述】:
为什么 Java 会给我一条错误消息? 我正在使用 JavaSE-12,但不明白为什么我有 IndexOutOfBoundsException。 我必须指定 ArrayList 的索引还是我缺少什么?
import java.util.ArrayList;
public class DSArrayList {
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList<String> namensListe = new ArrayList<String>();
namensListe.add("Hans");
namensListe.add("Peter");
for(int i = 0; i <= namensListe.size(); i++) {
System.out.println("Name: " + namensListe.get(i));
}
}
}
【问题讨论】:
-
这里
i <= namensListe.size()和<=您正在迭代列表之外。将此更改为i < namensListe.size() -
<,而不是<=。使用<=,i在最后一次迭代中将具有值2。 -
另外,你不要在循环中使用
i,所以最好使用增强的for循环:for (String name : namensListe) { System.out.println("Name: " + name); } -
@JohannesKuhn 是什么意思?他使用 i:
namensListe.get(i)