English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Eine Ausnahme ist ein Problem, das während der Ausführung des Programms auftritt (Laufzeitfehler). Wenn eine Ausnahme auftritt, wird das Programm plötzlich beendet und der Code nach der Ausnahmezeile wird niemals ausgeführt. Jede Ausnahme wird durch ihre eigene Klasse dargestellt.
Dies ist eine Laufzeit-Exception, die während der Ausführung auftritt.
Wenn Sie versuchen, ein Element aus einem leeren Objekt abzurufen oder den Inhalt einer Sammlung, eines Arrays oder eines anderen Objekts durch Enumeration, Iterator oder tokenizer-Methoden (z.B. next() oder nextElement()) abzurufen, wird NoSuchElementException generiert, wenn versucht wird, nach dem Ende des Objekts (Sammlung, Array oder anderes Objekt) den nächsten Element zu erhalten.
Die nextElement()-Methode der Enumeration-VectorKollektionen wie HashTable haben eine Methode namens elements(), die ein Enumeration-(Interface)-Objekt zurückgibt, das alle Elemente der Sammlung enthält.
Mit diesem Objekt können Elemente nacheinander mit dem nextElement()-Methoden abgerufen werden.
Wird auf diesem Methodenaufruf auf einem leeren Set aufgerufen oder wird NoSuchElementException nach Erreichen des Endes des Sets generiert.
import java.util.Enumeration; import java.util.Vector; public class EnumExample { public static void main(String args[]) { //Vector instanziieren Vector<Integer> vec = new Vector<Integer>( //Füllen des Vektors vec.add(1254); vec.add(4587); //Elemente mit Enumeration abrufen Enumeration<Integer> en = vec.elements(); System.out.println(en.nextElement()); System.out.println(en.nextElement()); //Nach dem Erreichen des Endes der Liste wird der nächste Element abgerufen System.out.println(en.nextElement()); } }
1254 4587 Exception in thread "main" java.util.NoSuchElementException: Vector Enumeration at java.util.Vector$1.nextElement(Unknown Source) at MyPackage.EnumExample.main(EnumExample.java:18)
Die Methoden nextElement() und nextToken() der StringTokenizer -Die StringTokenizer-Klasse akzeptiert String und delimiter als Parameter eines ihrer Konstruktoren, und teilt den angegebenen String bei jedem Auftreten des angegebenen Delimiters in mehrere kleine Markierungen.
Diese nextToken()- und nextElement()-Methoden der StringTokenizer-Klasse geben den nächsten Token aus dem Tokenizer-Generator zurück. Wird auf einem leeren StringTokenizer-Objekt aufgerufen oder wird NoSuchElementException beim Ende aufgerufen, wird bei der Laufzeit NoSuchElementException generiert.
import java.util.StringTokenizer; public class StringTokenizerExample{ public static void main(String args[]) { String str = "Hello how are you"; //Instanziierung der StringTokenizer-Klasse StringTokenizer tokenizer = new StringTokenizer(str, " "); //Alle Token ausgeben System.out.println(tokenizer.nextToken()); System.out.println(tokenizer.nextToken()); System.out.println(tokenizer.nextToken()); System.out.println(tokenizer.nextToken()); //Nach dem Erreichen des Endes wird das nächste Token abgerufen tokenizer.nextToken(); tokenizer.nextElement(); } }
Hello how are you Exception im Thread "main" java.util.NoSuchElementException at java.util.StringTokenizer.nextToken(Unknown Source) at MyPackage.StringTokenizerExample.main(StringTokenizerExample.java:16)
next() - Methode des Iterators -Java bietet die Klassen Iterator und ListIterator an, um die Elemente der Sammlungsobjekte abzurufen. Die next() - Methode von Iterator und ListIterator gibt das nächste Element der Sammlung zurück.
Wenn diese Methoden auf einer leeren Sammlung aufgerufen werden oder wenn NoSuchElementException am Ende aufgerufen wird, wird ein Laufzeitfehler erzeugt.
Gleichzeitig wird die Methode previous() der ListIterator, wenn sie auf einem leeren Objekt oder an seiner Deklarationsposition aufgerufen wird, den vorherigen Element der Sammlung zurückgeben und einen NoSuchElementException beim Laufzeitfehler erzeugen.
import java.util.ArrayList; import java.util.Iterator; public class NextElementExample{ public static void main(String args[]) { //ArrayList-Objekt instanziieren ArrayList<String> list = new ArrayList<String>(); //ArrayList füllen list.add("Äpfel"); list.add("Mangos"); list.add("Orangen"); //ArrayList-Iterator-Objekt erhalten Iterator it = list.iterator(); System.out.println(it.next()); System.out.println(it.next()); System.out.println(it.next()); //Nach dem Erreichen des Endes der Liste wird der nächste Element abgerufen it.next(); } }
Äpfel Mangos Orangen Exception im Thread "main" java.util.NoSuchElementException at java.util.ArrayList$Itr.next(Unknown Source) bei MyPackage.NextElementExample.main(NextElementExample.java:19)
import java.util.ArrayList; import java.util.ListIterator; public class NextElementExample{ public static void main(String args[]) { //ArrayList-Objekt instanziieren ArrayList<String> list = new ArrayList<String>(); //ArrayList füllen list.add("Äpfel"); list.add("Mangos"); list.add("Orangen"); //ArrayList-Iterator-Objekt erhalten ListIterator<String> it = list.listIterator(); it.next(); it.next(); it.next(); System.out.println(it.previous()); System.out.println(it.previous()); System.out.println(it.previous()); System.out.println(it.previous()); } }
Ausgaberesultat
Orangen Mangos Äpfel Exception im Thread "main" java.util.NoSuchElementException bei java.util.ArrayList$ListItr.previous(Unbekannte Quelle) bei MyPackage.NextElementExample.main(NextElementExample.java:22)