Die Methode nextElement löst eine NoSuchElementException in Java in der Enumeration, die nächste Methode in der NamingEnumeration usw. aus. Sie zeigt an, dass die Enumeration keine weiteren Elemente enthält. Diese Ausnahme ist die Unterklasse der Ausnahme von RuntimeException und implementiert die Schnittstelle Serializable. Neben Enumeration gibt es noch einige andere Klassen, die diese Ausnahme auslösen. Im Folgenden sind die verschiedenen Klassen und ihre Methoden aufgeführt.
Starten Sie Ihren kostenlosen Softwareentwicklungskurs
Webentwicklung, Programmiersprachen, Softwaretests und andere
Syntax, Funktionsweise, Konstruktoren und Beispiele von NoSuchElementException werden in den folgenden Abschnitten erläutert.
Erklärung:
Es folgt die Deklaration von NoSuchElementException.
public class NoSuchElementExceptionextends RuntimeException
Wie wir wissen, handelt es sich bei der Ausnahme um einen Fehler, der während der Programmausführung aufgetreten ist. Das Programm wird beendet und die Codezeilen nach der Zeile, die die Ausnahme verursacht hat, werden nicht ausgeführt, wenn eine Ausnahme ausgelöst wird. Es gibt verschiedene Situationen, in denen eine NosuchElementException ausgelöst wird. Sie sind:
Im Folgenden sind die beiden Konstruktoren von NoSuchElementException aufgeführt
Sehen wir uns einige der Beispielprogramme an, die NoSuchElementException in Java auslösen.
Java-Programm zum Auslösen einer NoSuchElementException, da kein Element in HashSet vorhanden ist.
Code:
import java.util.HashSet; import java.util.Set; //class public class NoExample { //main method public static void main(String[] args) { //create an object for set s Set s = new HashSet(); //select the next element s.iterator().next(); } }
Ausgabe:
In diesem Programm wird zunächst ein Hashset erstellt und das nächste Element im Set mit der Methode next() ausgewählt. Da die Menge kein Element enthält, wird eine NoSuchElementException ausgelöst. Um dies zu vermeiden, kann vor der Iteration der Sätze eine Prüfung durchgeführt werden, wie unten gezeigt.
import java.util.HashSet; import java.util.Iterator; import java.util.Set; //class public class NoExample { //main method public static void main(String[] args) { Set e = new HashSet(); Iterator it = e.iterator(); //checks whether any element is present while(it.hasNext()) { System.out.println(it.next()); } } }
Um das Vorhandensein von Elementen zu überprüfen, werden dem bestehenden Programm eine While-Schleife und ein Iterator hinzugefügt. Wenn dieser Code ausgeführt wird, ist ersichtlich, dass keine Ausnahmen ausgelöst werden.
Java-Programm zum Auslösen einer NoSuchElementException, da kein Element in HashTable vorhanden ist
Code:
import java.util.Hashtable; //class public class NoExample { //main method public static void main(String[] args) { //create an object for hashtable s Hashtable s = new Hashtable(); //select the next element s.elements().nextElement(); } }
Ausgabe:
In diesem Programm wird zunächst eine Hash-Tabelle erstellt und das nächste Element in der Tabelle mit der Methode nextElement() ausgewählt. Da in der Tabelle kein Element vorhanden ist, wird eine NoSuchElementException ausgelöst. Um dies zu vermeiden, kann vor der Iteration der Tabelle eine Prüfung durchgeführt werden, wie unten gezeigt.
import java.util.Hashtable; import java.util.Iterator; import java.util.Set; //class public class NoExample { //main method public static void main(String[] args) { //create an object for hashtable s Hashtable s = new Hashtable(); Set<String>k = s.keySet(); Iterator<String>i = k.iterator(); while (i.hasNext()) { System.out.println(i.next()); } } }
Um das Vorhandensein von Elementen zu überprüfen, wird dem bestehenden Programm eine While-Schleife, ein Set und ein Iterator hinzugefügt. Wenn dieser Code ausgeführt wird, ist ersichtlich, dass keine Ausnahmen ausgelöst werden.
Java-Programm zum Auslösen einer NoSuchElementException, da in StringTokenizer und Enumeration kein Element vorhanden ist.
Code:
import java.util.Enumeration; import java.util.Hashtable; import java.util.StringTokenizer; //class public class NoExample { private final static int el = 2; //main method public static void main(String[] args) { //declare a string String sn= "Happy Days never ends"; Hashtable s= new Hashtable(el); Enumeration t = s.elements(); //create an object for StringTokenizer StringTokenizer st = new StringTokenizer(sn, " "); //Print the tokens System.out.println(st.nextToken()); System.out.println(st.nextToken()); System.out.println(st.nextToken()); System.out.println(st.nextToken()); System.out.println(st.nextToken()); st.nextToken(); st.nextElement(); System.out.println(t.nextElement()); System.out.println(t.nextElement()); } }
Ausgabe:
In this program, a StringTokenizer is created first, and tokens are selected five times. As there are only four tokens, NoSuchElementException is thrown. In order to avoid this, a check can be given before iterating the Tokenizeras shown below.
import java.util.Enumeration; import java.util.Hashtable; import java.util.StringTokenizer; //class public class NoExample { private final static int el = 2; //main method public static void main(String[] args) { //declare a string String sn= "Happy Days never ends"; Hashtable s= new Hashtable(el); Enumeration t = s.elements(); //create an object for StringTokenizer StringTokenizer st = new StringTokenizer(sn, " "); while(st.hasMoreTokens()) { System.out.println(st.nextToken()); } } }
In order to check the presence of elements, a while loop is added to the existing program. If this code is executed, it can be seen that no exceptions are thrown.
NoSuchElementException is an exception that is thrown when there are no elements retrieved on calling the method next( ) and nextElement( ) in classes Iterator, StringTokenizer, Enumeration and NamingEnumeration. In this article, different aspects such as the declaration, working, constructors, and examples of NoSuchElementException is explained in detail.
Das obige ist der detaillierte Inhalt vonJava NoSuchElementException. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!