个性化阅读
专注于IT技术分析

Java中的NoSuchElementException

NoSuchElementException由Enumeration的nextElement方法引发, 该方法指示枚举中不再剩余元素。 NoSuchElementException由以下方法引发:

  • 枚举接口的nextElement()
  • NamingEnumeration接口的next()
  • StringTokenizer类的nextElement()
  • Iterator接口的next()

NoSuchElementException是RuntimeException的子类, 并实现Serializable接口。

NoSuchElementException的构造方法

建设者 描述
NoSuchElementException() 它构造一个NoSuchElementException, 没有任何错误消息作为其字符串。
NoSuchElementException(String s) 它构造一个NoSuchElementException, 它保存了一个消息字符串s, 该消息字符串是对该错误的引用, 以供以后由getMessage方法检索。字符串s包含引发错误的类名。

NoSuchElementException的示例

import java.util.HashSet;
import java.util.Hashtable;
import java.util.Set;

public class NoSuchElementException {

	public static void main(String[] args) {
		 Set exampleleSet = new HashSet();
		 Hashtable exampleTable = new Hashtable();
		 exampleleSet.iterator().next();                         //This throws NoSuchElementException
		 exampleTable.elements().nextElement();      //as there are no elements in our Set
	                                                                            //and HashTable but we are trying to access the  
                                                                                          //elements.                             
}

}

输出:

Java中的NoSuchElementException

如何避免NoSuchElementException?

发生NoSuchElementException的最常见情形之一是当我们遍历一个空Set时。如果希望避免这种异常, 可以在遍历该集合之前进行检查。在进行迭代时, 请按照以下步骤每次检查集合中是否存在元素:

public class NoSuchElementException {

	public static void main(String[] args) {
		 Set exampleleSet = new HashSet();
		 
		 Iterator it = exampleleSet.iterator();
		 while(it.hasNext()) {
			 System.out.println(it.next());
		 }
	}

}

这种方式确保了任何存在的元素都可以被访问。


赞(0)
未经允许不得转载:srcmini » Java中的NoSuchElementException

评论 抢沙发

评论前必须登录!