Resuelva el error Solo se puede iterar sobre una matriz o una instancia de Java.Lang.Iterable en Java

Haider Ali 12 octubre 2023
  1. Solo se puede iterar sobre una matriz o una instancia de java.lang.iterable
  2. Resuelva el error Solo se puede iterar sobre una matriz o una instancia de java.lang.iterable usando Iterator()
Resuelva el error Solo se puede iterar sobre una matriz o una instancia de Java.Lang.Iterable en Java

Aprenderemos sobre el error de Java Solo se puede iterar sobre una matriz o una instancia de java.lang.iterable. Veremos por qué se produce este error y la solución.

Entonces, sin más demora, vamos a sumergirnos.

Solo se puede iterar sobre una matriz o una instancia de java.lang.iterable

Este error es un error de tiempo de compilación, y es tal como dice. Ocurre cuando hay un problema con la iteración de una matriz o una instancia.

Mientras programa, el usuario intenta hacer las cosas más fáciles para sí mismo, y mientras lo hace, el usuario usa bucles. Sin embargo, usar bucles no siempre es la respuesta correcta.

El error “solo puede iterar sobre una matriz o una instancia de java.lang.iterable” no significa que impida que el usuario use un bucle en una matriz o una instancia. Significa que se utiliza un bucle que no complementa sus condiciones, por ejemplo, el bucle for o foreach.

Resuelva el error Solo se puede iterar sobre una matriz o una instancia de java.lang.iterable usando Iterator()

En el caso de los bucles, si se usa un bucle foreach, tenemos que escribir explícitamente nuestras iteraciones, ya que a veces foreach puede provocar que se produzca este error. Podemos hacer eso usando Iterator.

Otra forma es usar un bucle simple for o while.

Aquí hay un ejemplo simple de iteración explícita de una matriz usando un Iterador con un bucle while. Aquí usaremos ArrayList para demostrar Iterator().

Aquí se usa un ArrayList porque Iterator() es un método de la clase ArrayList.

Aquí se usa un bucle while para facilitar las cosas. Esto se debe a que al usar otros bucles, por ejemplo, for y foreach, el método Iterator() no funciona correctamente.

Dado que Iterator() es parte de un método de recopilación, funciona correctamente con bucles específicos, como el bucle while.

Código:

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());
    }
  }
}

Producción :

1
2
3
4
Autor: Haider Ali
Haider Ali avatar Haider Ali avatar

Haider specializes in technical writing. He has a solid background in computer science that allows him to create engaging, original, and compelling technical tutorials. In his free time, he enjoys adding new skills to his repertoire and watching Netflix.

LinkedIn

Artículo relacionado - Java Error