java 不能使用foreach_为什么我不能在Java Enumeration上使用foreach?
Lawrence Dol..
6
我用两个非常简单的类解决了这个问题,一个用于Enumeration,一个用于Iterator.枚举包装如下:
static class IterableEnumeration
extends Object
implements Iterable, Iterator
{
private final Enumeration enumeration;
private boolean used=false;
IterableEnumeration(final Enumeration enm) {
enumeration=enm;
}
public Iterator iterator() {
if(used) { throw new IllegalStateException("Cannot use iterator from asIterable wrapper more than once"); }
used=true;
return this;
}
public boolean hasNext() { return enumeration.hasMoreElements(); }
public T next() { return enumeration.nextElement(); }
public void remove() { throw new UnsupportedOperationException("Cannot remove elements from AsIterator wrapper around Enumeration"); }
}
哪个可以使用静态实用程序方法(这是我的偏好):
/**
* Convert an `Enumeration` to an `Iterable` for a once-off use in an enhanced for loop.
*/
static public Iterable asIterable(final Enumeration enm) {
return new IterableEnumeration(enm);
}
...
for(String val: Util.asIterable(enm)) {
...
}
或者通过实例化类:
for(String val: new IterableEnumeration(enm)) {
...
}
java 不能使用foreach_为什么我不能在Java Enumeration上使用foreach?相关推荐
- java带参数的方法笔记_具有Java参数的方法的类声明
类声明可以包含在Java中具有参数的方法.演示此过程的程序如下: 示例class Message { public void messagePrint(String msg) { System.out ...
- Java改知能机_Java 面试突击之 Java 并发知识基础 进阶考点全解析
版权说明:本文内容根据 github 开源项目整理所得 项目地址:https://github.com/Snailclimb/JavaGuidegithub.com 一.基础 什么是线程和进程? 何 ...
- java正则截取xml节点_实例讲述Java使用正则表达式截取重复出现的XML字符串功能...
Java使用正则表达式截取重复出现的XML字符串功能示例 本文实例讲述了Java使用正则表达式截取重复出现的XML字符串功能.分享给大家供大家参考,具体如下: public static void m ...
- java设计模式中不属于创建型模式_23种设计模式第二篇:java工厂模式定义:工厂模式是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式...
23种设计模式第二篇:java工厂模式 定义: 工厂模式是 Java 中最常用的设计模式之一.这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式. 工厂模式主要是为创建对象提供过渡接口, ...
- java 获取 反射 方法 名_乐字节Java反射之一:反射概念与获取反射源头Class
一.Java反射机制概念 "程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言",如Python, Ruby是动态语言:显然C++,Java,C#不是动态语言,但是JAV ...
- Java就业难不难?是否要参加Java培训?
这个是老话题了,java程序员远远没有饱和,年薪10万+元是很正常的一个薪酬水平.现在java程序员挺多的,但是职位需求量更大,特别是能干实干或优秀的程序员是相当缺乏的,没存在饱和一说.对于Java的 ...
- Java虚拟机规范阅读(二)IEEE754简介以及Java虚拟机中的浮点算法
什么是浮点数 在计算机系统的发展过程中,曾经提出过多种方法表达实数.典型的比如相对于浮点数的定点数(Fixed Point Number).在这种表达方式中,小数点固定的位于实数所有数字中间的某个位置 ...
- 分享五款java学习辅助工具,总有你用的上的~
想要学好java技术,除了自身的努力,辅助工具也不缺少,辅助工具可以帮助大家在今后的工作中可以提高工作效率,下面小编就来分享五款java学习辅助工具,总有你用的上的~ 五款java学习辅助工具: 1. ...
- 深入java虚拟机 第四版_深入理解Java虚拟机-常用vm参数分析
Java虚拟机深入理解系列全部文章更新中... https://blog.ouyangsihai.cn/shen-ru-li-jie-java-xu-ni-ji-java-nei-cun-qu-yu- ...
最新文章
- 裸centos安装PCRE时报错解决
- 1.使用sizeof计算类的大小
- 前端框架 渐进式框架
- 镜像安装linux选择内核版本,在CentOS和Ubuntu中安装Linux Kernel 4.13.10
- Java 控制台程序的基本结构测试分析草稿
- FastDFS安装脚本
- flash as3 socket安全服务网关(socket policy file server)
- 在.net中调用vb脚本(ITpro专用的vb脚本,而不是浏览器vb脚本)
- 远程调用——hessian使用入门
- 单利计算与复利计算程序
- HTML教程(完整版).pdf,HTML教程详解(完整版).pdf
- 最小二乘法曲线拟合(代码环境:matlab)
- 第六届CCF计算机职业资格认证考试题解(C++)
- SWUST OJ 99:Euclid‘s Game
- Date:2021.3.11 ---- 树莓派4B raspbian/ Debian + Apache2 + php7 + Mariadb/Mysql +owncloud搭建私有云NAS
- 微信小程序IOS手机能正常访问但是安卓手机出现REQUEST FAILED无法访问服务器问题
- bootstrap table获取表格数据方式
- Mockito3.8 如何mock静态方法 (如何mock PageHelper)
- 3.3 构建神经网络小结
- 灵动微 MM32 多路ADC-DMA配置