ArrayList<String> list = new ArrayList<String>();
list.add("test");
while(list.listIterator().hasNext()) {
System.out.println(list.listIterator().next());
}
"test"で無限ループのループが生成されます。なぜこれが起こり、それを修正するのですか?Java - ListIteratorを使用した無限ループ.hasNext()
各ループステップで新しいイテレータを生成しています。常に新しいもので、リストにアイテムが含まれています。「hasNext()」は常に「true」を返します。 – Valentin
forループを使用すると、1行でこれを行うこともできます。for(ListIterator it = list.listIterator(); it.hasNext();){/ * looped code * /} 'は、イテレータはそのループだけになります。 –
zapl