我想通过ArrayList迭代并打印它中的每个元素,但它只输出ArrayList中的第一个元素。然后有一个无限循环,并且不断打印出第一个元素。ArrayList for循环迭代器导致无限循环
ArrayList<String> startTime = new ArrayList<String>();
for (int i = 0; i < startTime.size(); i++) {
String getTime = startTime.get(i);
getTime = convertTime(getTime);
startTime.add(i, getTime);
System.out.println(startTime.get(i));
}
这是因为您正在调用'startTime.add(i,getTime);'在循环中 - 您正在循环的每次迭代中向列表中添加一个元素。你为什么添加该行?去掉它。 – Jesper
鉴于这里的代码,我不知道为什么你会期望有什么不同,你正在访问数组列表,然后添加到它。因此,无限。 – DejaVuSansMono
这是因为您正在获取数据,覆盖它,获取数据,覆盖它等等,一次又一次地达到无穷大。没有结局。也许你可以在达到某个基准并在那里打破一个条件。 –