La méthode nextElement lève NoSuchElementException en Java dans Enumeration, la méthode next dans NamingEnumeration, etc. Cela indique qu'il n'y a aucun autre élément dans l'énumération. Cette exception est la sous-classe de l'exception de RuntimeException et implémente l'interface Serialisable. En plus de l'énumération, il existe d'autres classes qui lèvent cette exception. Voici les différentes classes et leurs méthodes.
Commencez votre cours de développement de logiciels libres
Développement Web, langages de programmation, tests de logiciels et autres
La syntaxe, le fonctionnement, les constructeurs et les exemples de NoSuchElementException seront expliqués dans les sections suivantes.
Déclaration :
Voici la déclaration de NoSuchElementException.
public class NoSuchElementExceptionextends RuntimeException
Comme nous le savons, l'exception est une erreur survenue lors de l'exécution du programme. Le programme est terminé et les lignes de code après la ligne qui a provoqué l'exception ne seront pas exécutées lorsqu'une exception est levée. Il existe différentes situations dans lesquelles NosuchElementException est levée. Ce sont :
Voici les deux constructeurs de NoSuchElementException
Voyons quelques exemples de programmes qui lancent NoSuchElementException en Java.
Programme Java pour lancer NoSuchElementException car il n'y a aucun élément dans HashSet.
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(); } }
Sortie :
Dans ce programme, un hashset est créé en premier et l'élément suivant de l'ensemble est sélectionné à l'aide de la méthode next(). Comme il n’y a aucun élément dans l’ensemble, NoSuchElementException est levée. Afin d'éviter cela, une vérification peut être effectuée avant d'itérer les setas indiqués ci-dessous.
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()); } } }
Pour vérifier la présence d'éléments, une boucle while et un itérateur sont ajoutés au programme existant. Si ce code est exécuté, on peut voir qu'aucune exception n'est levée.
Programme Java pour lancer NoSuchElementException car il n'y a aucun élément dans HashTable
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(); } }
Sortie :
Dans ce programme, une table de hachage est créée en premier et l'élément suivant de la table est sélectionné à l'aide de la méthode nextElement(). Comme il n'y a aucun élément dans le tableau, NoSuchElementException est levée. Afin d'éviter cela, une vérification peut être effectuée avant de parcourir le tableau, comme indiqué ci-dessous.
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()); } } }
Afin de vérifier la présence d'éléments, une boucle while, un ensemble et un itérateur sont ajoutés au programme existant. Si ce code est exécuté, on peut voir qu'aucune exception n'est levée.
Programme Java pour lancer NoSuchElementException car il n'y a aucun élément dans StringTokenizer et Enumeration.
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()); } }
Sortie :
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.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!