Beheben Sie den Fehler Kann nur über ein Array oder eine Instanz von Java.Lang.Iterable in Java iterieren

Haider Ali 12 Oktober 2023
  1. Kann nur über ein Array oder eine Instanz von java.lang.iterable iterieren
  2. Beheben Sie den Fehler Kann nur über ein Array oder eine Instanz von java.lang.iterable iterieren mit Iterator()
Beheben Sie den Fehler Kann nur über ein Array oder eine Instanz von Java.Lang.Iterable in Java iterieren

Wir lernen den Java-Fehler Can only iterate over an array or an instance of java.lang.iterable kennen. Wir werden sehen, warum dieser Fehler auftritt und die Lösung dafür.

Lassen Sie uns also ohne weitere Verzögerung eintauchen.

Kann nur über ein Array oder eine Instanz von java.lang.iterable iterieren

Dieser Fehler ist ein Kompilierzeitfehler, und er ist genau so, wie er sagt. Es tritt auf, wenn ein Problem mit der Iteration eines Arrays oder einer Instanz auftritt.

Beim Programmieren versucht der Benutzer, sich die Dinge zu erleichtern, und verwendet dabei Schleifen. Die Verwendung von Schleifen ist jedoch nicht immer die richtige Antwort.

Der Fehler kann nur über ein Array oder eine Instanz von java.lang.iterable iterieren bedeutet nicht, dass er den Benutzer daran hindert, eine Schleife auf einem Array oder einer Instanz zu verwenden. Das bedeutet, dass eine Schleife verwendet wird, die ihre Bedingungen nicht ergänzt - zum Beispiel die Schleife for oder foreach.

Beheben Sie den Fehler Kann nur über ein Array oder eine Instanz von java.lang.iterable iterieren mit Iterator()

Im Fall von Schleifen müssen wir, wenn eine foreach-Schleife verwendet wird, unsere Iterationen explizit eingeben, da manchmal foreach diesen Fehler verursachen kann. Das können wir mit Iterator machen.

Eine andere Möglichkeit ist die Verwendung einer einfachen for- oder while-Schleife.

Hier ist ein einfaches Beispiel für die explizite Iteration eines Arrays mit einem Iterator mit einer while-Schleife. Hier verwenden wir ArrayList, um Iterator() zu demonstrieren.

Hier wird eine ArrayList verwendet, weil Iterator() eine Methode der Klasse ArrayList ist.

Zur Vereinfachung wird hier eine while-Schleife verwendet. Dies liegt daran, dass bei Verwendung anderer Schleifen, beispielsweise for und foreach, die Methode Iterator() nicht korrekt funktioniert.

Da Iterator() Teil einer Sammlungsmethode ist, funktioniert es richtig mit bestimmten Schleifen, wie der while-Schleife.

Code:

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

Ausgang:

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

Verwandter Artikel - Java Error