Heim  >  Artikel  >  Java  >  Java NoSuchElementException

Java NoSuchElementException

PHPz
PHPzOriginal
2024-08-30 16:13:18949Durchsuche

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

  • StringTokenizer::nextElement()
  • Enumeration::nextElement()
  • Iterator::next()
  • NamingEnumeration::next()

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 funktioniert NoSuchElementException in Java?

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:

  • NosuchElementException wird während der Laufzeit ausgelöst, um die Methode nextElement( ) der Klasse Enumeration für ein Null-Enumerationsobjekt aufzurufen, oder die aktuelle Position ist Enumeration end.
  • NosuchElementException wird während der Laufzeit beim Aufruf der Methode nextElement( ) oder nextToken() der Klasse StringTokenizerauf einem Null-Enumerationsobjekt ausgelöst oder die aktuelle Position istStringTokenizerend.
  • NosuchElementException wird während der Laufzeit beim Aufruf der Methode next( ) der Klasse Iterator für ein Null-Iterator-Objekt oder die aktuelle Position Iterator end ausgelöst.
  • NosuchElementException wird während der Laufzeit beim Aufruf der Methode next( ) der Klasse ListIteratorauf ein null ListIteratorobject oder die aktuelle Position istListIteratorend ausgelöst.
  • NosuchElementException wird während der Laufzeit beim Aufruf der Methode previous ( ) der Klasse ListIterator auf einem Null-ListIteratorobject oder der aktuellen Position ListIteratorstart ausgelöst.

Konstrukteure

Im Folgenden sind die beiden Konstruktoren von NoSuchElementException aufgeführt

  • NoSuchElementException(): NoSuchElementException wird erstellt, ohne dass Fehlermeldungen oder Benachrichtigungen als Zeichenfolge bereitgestellt werden.
  • NoSuchElementException(Stringst): Es wird eine NoSuchElementException erstellt, die Fehlermeldungen oder Benachrichtigungen als String st bereitstellt. Dieser wird zum späteren Abruf mit Hilfe der Methode getMessage verwendet. Der Klassenname, der den Fehler enthält, ist in der Zeichenfolge st.
  • vorhanden

Beispiele für Java NoSuchElementException

Sehen wir uns einige der Beispielprogramme an, die NoSuchElementException in Java auslösen.

Beispiel #1

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:

Java NoSuchElementException

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.

Beispiel #2

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:

Java NoSuchElementException

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.

Beispiel #3

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:

Java NoSuchElementException

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.

Java NoSuchElementException

Conclusion

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Arten von Ausnahmen in JavaNächster Artikel:Arten von Ausnahmen in Java