我想通過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
這是因爲您正在獲取數據,覆蓋它,獲取數據,覆蓋它等等,一次又一次地達到無窮大。沒有結局。也許你可以在達到某個基準並在那裏打破一個條件。 –