解决 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
相关推荐
一晌小贪欢几秒前
【Python办公】处理 CSV和Excel 文件操作指南
开发语言·python·excel·excel操作·python办公·csv操作
清风与日月5 分钟前
c# 集成激光雷达(以思岚A1为例)
开发语言·c#
皮皮林5516 分钟前
MinIO 不再“开放”,RustFS 能否成为更优选择?
java
多喝开水少熬夜14 分钟前
树与图的深度和广度优先遍历-java实现邻接表存储
java·深度优先·宽度优先
是苏浙19 分钟前
零基础入门C语言之贪吃蛇的实现
c语言·开发语言·数据结构
潲爺28 分钟前
Java IDEA学习之路:第九周课程笔记归纳
java·学习·intellij-idea
化作星辰38 分钟前
java 给鉴权kafka2.7(sasl)发送消息权限异常处理
java·大数据·开发语言·kafka
无极小卒38 分钟前
如何在三维空间中生成任意方向的矩形内部点位坐标
开发语言·算法·c#
克里斯蒂亚诺更新42 分钟前
微信小程序 点击某个marker改变其大小
开发语言·前端·javascript
user_admin_god1 小时前
企业级管理系统的站内信怎么轻量级优雅实现
java·大数据·数据库·spring boot