解决 Java 中错误 Can Only Iterate Over an Array or an Instance of Java.Lang.Iterable

我们将了解 Java 错误 Can only iterate over an array or an instance of java.lang.iterable。 我们将了解为什么会出现此错误以及解决方案。

因此,事不宜迟,让我们开始吧。


can only iterate over an array or an instance of java.lang.iterable 的实例

这个错误是编译时错误,正如它所说的那样。 当数组或实例的迭代出现问题时,就会发生这种情况。

在编程时,用户试图使事情变得更容易,并且在这样做时,用户使用循环。 然而,使用循环并不总是正确的答案。

该错误 can only iterate over an array or an instance of java.lang.iterable 的实例并不意味着它会阻止用户在数组或实例上使用循环。 这意味着使用的循环不能补充其条件 - 例如 for 或 foreach 循环。


使用 Iterator() 解决 Can Only Iterate Over an Array or an Instance of java.lang.iterable 错误

在循环的情况下,如果使用 foreach 循环,我们必须显式键入迭代,因为有时 foreach 可能会导致发生此错误。 我们可以通过使用迭代器来做到这一点。

另一种方法是使用简单的 for 或 while 循环。

下面是一个使用带有 while 循环的迭代器显式迭代数组的简单示例。 这里我们将使用ArrayList来演示 Iterator()

这里使用ArrayList,因为Iterator()是ArrayList类的方法。

这里使用 while 循环来使事情变得更容易。 这是因为在使用其他循环(例如 for 和 foreach)时,Iterator() 方法无法正常工作。

由于 Iterator() 是集合方法的一部分,因此它可以与特定循环(例如 while 循环)一起正常工作。

代码:

java 复制代码
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.function.Consumer;

public class Main
{
    public static void main(String[] args)
    {
        List<Integer> Num = new ArrayList<>(); //ArrayList is used here
        Num.add(1);
        Num.add(2);
        Num.add(3);
        Num.add(4);

        Iterator<Integer> value = Num.iterator(); //Here is the use of Iterator()
        while (value.hasNext()) //hasNext() is used to loop. It is a method of Iterator()
        {
            System.out.println(value.next());
        }
    }
}

输出:

bash 复制代码
1
2
3
4
相关推荐
Zz_waiting.几秒前
案例开发 - 日程管理 - 第七期
开发语言·前端·javascript·vue.js·html·路由
叫我阿柒啊几秒前
Java全栈开发面试实战:从基础到微服务的完整技术栈解析
java·spring boot·微服务·前端框架·vue·jwt·全栈开发
writeone几秒前
9-10关于JS初学产生的问题
开发语言·javascript·ecmascript
前行的小黑炭2 分钟前
Android:在项目当中可能会遇到的ANR,应该如何解决?
android·java·kotlin
索迪迈科技1 小时前
Flink Task线程处理模型:Mailbox
java·大数据·开发语言·数据结构·算法·flink
太阳的后裔2 小时前
随笔一些用C#封装的控件
开发语言·c#
tianyuanwo2 小时前
Rust语言组件RPM包编译原理与Cargo工具详解
开发语言·网络·rust·rpm
float_六七5 小时前
IntelliJ IDEA双击Ctrl的妙用
java·ide·intellij-idea
能摆一天是一天6 小时前
JAVA stream().flatMap()
java·windows