今天在学习list迭代器的时候,讲到hasNext的注释,hasPrevious的while循环直接跳了出来。如果没有hasNext的注释,它会正常运行。Listlist=newArrayList();list.add("你好");list.add("世界");list.add("java");ListIteratorlt=list.listIterator();/*while(lt.hasNext()){Strings=lt.next();System.out.println(s);}*/while(lt.hasPrevious()){Strings=lt.previous();System.out.println(s);}原因:和索引类似,开始没有注释的时候,lt已经指向了List的最后一个元素,然后调用hasPrevoius方法从后往前执行。如果只有一个hasPrevious,没有更多的元素输出,则退出while循环。解决方案:ListIteratorlt=list.listIterator(list.size());