当前位置: 首页 > 面试题库 >

对待枚举 作为迭代器

逑俊楚
2023-03-14
问题内容

我有一个实现该Enumeration<T>接口的类,但是Java的foreach循环需要该Iterator<T>接口。是否有一个EnumerationIterator适配器在Java的标准库?


问题答案:

您需要一个所谓的“适配器”,以适应Enumeration不兼容的Iterator。Apache commons-
collections具有EnumerationIterator。用法是:

Iterator iterator = new EnumerationIterator(enumeration);


 类似资料:
  • 问题内容: 在Java 5及更高版本中,您具有foreach循环,该循环可以神奇地实现任何实现的对象: 但是,仍然没有实现,这意味着要迭代一个,您必须执行以下操作: 有谁知道为什么仍然不执行? 编辑: 为澄清起见,我不是在谈论枚举的语言概念,而是在Java API中称为“ 枚举 ” 的Java特定类。 问题答案: 枚举没有被修改为支持Iterable,因为它是一个接口,而不是一个具体的类(例如Ve

  • 问题内容: 我已经看过Scala有关模拟Javaenum和case类与Enumeration的问题,但是似乎付出了太多的努力却却获得了太多的好处。 基本上,我希望有一个方法可以返回的所有单例对象,而无需重复几次。 这是我的代码的样子: 该方法应该返回类似如下的内容: 一切都应该发生在特征中,所以我只需要扩展它即可获得功能。 有什么建议可以做到这一点吗?这个想法是访问类并找到它们正在扩展的类的所有单

  • 问题内容: 是否可以使用Lambda表达式进行迭代?以下代码段的Lambda表示形式是什么: 我在其中找不到任何流。 问题答案: 如果您不喜欢在迭代开始之前将全部内容复制到(临时)列表中的事实,则可以使用简单的实用程序方法来帮助自己: 然后,您可以简单地进行操作(注意该功能)…

  • 问题内容: 在我的MySQL数据库中,有“ gender enum(’male’,’female’)”列 我创建了枚举“ com.mydomain.myapp.enums.Gender”,并在我的实体中定义了“性别”。 现在,我想将枚举类型保留在我的MySQL数据库中,但是当我启动应用程序时,我得到: 性别列在MyApp.Person中的列类型错误。找到:枚举,预期:整数 为什么是这样?这就像我用

  • 问题内容: 在我的MySQL数据库中,有“ gender enum(’male’,’female’)”列 我创建了枚举“ com.mydomain.myapp.enums.Gender”,并在我的实体中定义了“性别”。 现在,我想将枚举类型保留在我的MySQL数据库中,但是当我启动应用程序时,我得到: 性别列在MyApp.Person中的列类型错误。找到:枚举,预期:整数 为什么是这样?就像我用“