Iterate an Enumeration in Java 8(在 Java 8 中迭代枚举)
问题描述
是否可以使用 Lambda 表达式迭代 Enumeration?以下代码片段的 Lambda 表示形式是什么:
Is it possible to iterate an Enumeration by using Lambda Expression? What will be the Lambda representation of the following code snippet:
Enumeration<NetworkInterface> nets = NetworkInterface.getNetworkInterfaces();
while (nets.hasMoreElements()) {
    NetworkInterface networkInterface = nets.nextElement();
}
我没有在其中找到任何流.
I didn't find any stream within it.
推荐答案
如果您不喜欢 Collections.list(Enumeration) 将整个内容复制到(临时)列表中在迭代开始之前,您可以通过一个简单的实用方法帮助自己:
In case you don’t like the fact that Collections.list(Enumeration) copies the entire contents into a (temporary) list before the iteration starts, you can help yourself out with a simple utility method:
public static <T> void forEachRemaining(Enumeration<T> e, Consumer<? super T> c) {
  while(e.hasMoreElements()) c.accept(e.nextElement());
}
然后您可以简单地执行 forEachRemaining(enumeration, lambda-expression);(注意 import static 功能)...
Then you can simply do forEachRemaining(enumeration, lambda-expression); (mind the import static feature)…
这篇关于在 Java 8 中迭代枚举的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:在 Java 8 中迭代枚举
				
        
 
            
        - Eclipse 的最佳 XML 编辑器 2022-01-01
 - GC_FOR_ALLOC 是否更“严重"?在调查内存使用情况时? 2022-01-01
 - 转换 ldap 日期 2022-01-01
 - java.lang.IllegalStateException:Bean 名称“类别"的 BindingResult 和普通目标对象都不能用作请求属性 2022-01-01
 - 如何使 JFrame 背景和 JPanel 透明且仅显示图像 2022-01-01
 - 如何指定 CORS 的响应标头? 2022-01-01
 - 获取数字的最后一位 2022-01-01
 - 在 Java 中,如何将 String 转换为 char 或将 char 转换 2022-01-01
 - 未找到/usr/local/lib 中的库 2022-01-01
 - 将 Java Swing 桌面应用程序国际化的最佳实践是什么? 2022-01-01
 
						
						
						
						
						
				
				
				
				