Kaedah nextElement membuang NoSuchElementExceptionin Java dalam Enumeration, kaedah seterusnya dalam NamingEnumeration, dsb. Ia menandakan bahawa tiada lagi elemen dalam enumeration. Pengecualian ini ialah subkelas pengecualian RuntimeException dan melaksanakan antara muka Serializable. Sebagai tambahan kepada Penghitungan, terdapat beberapa kelas lain membuang pengecualian ini. Berikut ialah kelas yang berbeza dan kaedahnya.
Mulakan Kursus Pembangunan Perisian Percuma Anda
Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain
Sintaks, kerja, pembina dan contoh NoSuchElementException akan diterangkan dalam bahagian berikut.
Pengisytiharan:
Berikut ialah pengisytiharan NoSuchElementException.
public class NoSuchElementExceptionextends RuntimeException
Seperti yang kita ketahui, pengecualian adalah ralat yang berlaku semasa pelaksanaan program. Program akan ditamatkan, dan baris kod selepas baris yang menyebabkan pengecualian tidak akan dilaksanakan apabila pengecualian dilemparkan. Terdapat situasi yang berbeza di manaNosuchElementException dilemparkan. Mereka ialah:
Berikut ialah dua pembina NoSuchElementException
Mari kita lihat beberapa contoh program yang membuang NoSuchElementException dalam Java.
Atur cara Java untuk membuang NoSuchElementException kerana tiada elemen dalam HashSet.
Kod:
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(); } }
Output:
Dalam program ini, set cincang dicipta dahulu, dan elemen seterusnya dalam set dipilih menggunakan kaedah seterusnya(). Oleh kerana tiada unsur dalam set, NoSuchElementException dibuang. Untuk mengelakkan perkara ini, semakan boleh diberikan sebelum mengulangi set yang ditunjukkan di bawah.
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()); } } }
Untuk menyemak kehadiran elemen, gelung sementara dan lelaran ditambahkan pada program sedia ada. Jika kod ini dilaksanakan, ia dapat dilihat bahawa tiada pengecualian dilemparkan.
Program Java untuk membuang NoSuchElementException kerana tiada elemen dalam HashTable
Kod:
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(); } }
Output:
Dalam atur cara ini, jadual cincang dicipta dahulu, dan elemen seterusnya dalam jadual dipilih menggunakan kaedah nextElement(). Oleh kerana tiada unsur dalam jadual, NoSuchElementException dibuang. Untuk mengelakkan ini, semakan boleh diberikan sebelum melelaran jadual, seperti yang ditunjukkan di bawah.
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()); } } }
Untuk menyemak kehadiran elemen, gelung sementara, set dan iterator ditambahkan pada program sedia ada. Jika kod ini dilaksanakan, ia dapat dilihat bahawa tiada pengecualian dilemparkan.
Program Java untuk membuang NoSuchElementException kerana tiada elemen dalam StringTokenizer dan Enumeration.
Kod:
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()); } }
Output:
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.
Atas ialah kandungan terperinci Java NoSuchElementException. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!