【Java中的NoSuchElementException】NoSuchElementException由Enumeration的nextElement方法引发, 该方法指示枚举中不再剩余元素。 NoSuchElementException由以下方法引发:
- 枚举接口的nextElement()
- NamingEnumeration接口的next()
- StringTokenizer类的nextElement()
- Iterator接口的next()
NoSuchElementException的构造方法
建设者 | 描述 |
---|---|
NoSuchElementException() | 它构造一个NoSuchElementException, 没有任何错误消息作为其字符串。 |
NoSuchElementException(String s) | 它构造一个NoSuchElementException, 它保存了一个消息字符串s, 该消息字符串是对该错误的引用, 以供以后由getMessage方法检索。字符串s包含引发错误的类名。 |
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 NoSuchElementExceptionexampleTable.elements().nextElement();
//as there are no elements in our Set//and HashTable but we are trying to access the//elements.}}
输出:
文章图片
如何避免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());
} }}
这种方式确保了任何存在的元素都可以被访问。
推荐阅读
- Java中的内存管理
- 常见的Windows 11问题和解决方法(提示和指南)
- 6款适用于Chromebook(Chrome替代品)的最佳浏览器合集
- 如何修复无法重置Windows 11的问题(详细分步指南)
- win8.1打开Media Player播放器提示“Failed to load control ”怎样办
- Win8怎样运用自带的GeoLocation地理定位技巧【图文详细教程】
- win8.1系统搜索文件时遇到同一个文件重复显示怎样办
- Win 8系统连接网络失败提示出错711如何处理
- win8无法打开EXE文件出现“wermgr.exe - Application Error出错”怎样办