有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java嵌套列表迭代器。程序不会终止

下面是我的程序

public class NewClass {
    public static void main(String[] args) {
        List<String> cars = new ArrayList<String>();
        cars.add("Maruti");
        cars.add("Hundai");
        cars.add("Polo");
        Iterator<String> literate1 =  cars.iterator();
        while (literate1.hasNext()){
            System.out.println(literate1.next());
            literate1.remove();
            Iterator<String> literate2 =  cars.iterator();
            while (literate2.hasNext()){
            }
        }
    }
}

输出

Maruti

打印此结果后,程序不会终止。你能解释一下发生了什么事吗


共 (1) 个答案

  1. # 1 楼答案

    while (literate2.hasNext()){
    }
    

    无限循环就在那里。在调用next()之前,如果有更多项,hasNext()将始终返回true