如何迭代Java中的枚举字段? [复制]

Posted

技术标签:

【中文标题】如何迭代Java中的枚举字段? [复制]【英文标题】:How to iterate on the field of an enum in Java? [duplicate] 【发布时间】:2014-01-04 03:28:04 【问题描述】:

我有这个 Java 枚举

public enum ConnectionParameter 
    state,
    host,
    port,
    secure,
    username,
    password

包含我必须使用 XPATH 处理的 XML 文件的字段(但此时这并不重要)

我必须对所有这些枚举字段进行迭代才能对每个字段进行操作。

我该怎么做?

Tnx

安德烈亚

【问题讨论】:

ConnectionParameter.values() 返回在该enum 中声明的所有enum 值的数组。 您使用的是 IDE 吗?您是否尝试过使用它的自动完成功能? 【参考方案1】:

您可以像这样使用values() 方法:

for (ConnectionParameter connectionParameter : ConnectionParameter.values()) 
   // do somethign with `connectionParameter` here

每个enum 都有这个values() 方法。

【讨论】:

【参考方案2】:
for(ConnectionParameter item : ConnectionParameter.values())

【讨论】:

【参考方案3】:

您可以使用ConnectionParameter.values() 返回一个数组,其中包含枚举中定义的所有常量。示例:

for (ConnectionParameter c :ConnectionParameter.values()) 
   System.out.println(c.printableName());

更多信息:

Enums in Java

【讨论】:

以上是关于如何迭代Java中的枚举字段? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何在Java中迭代某个目录的文件? [复制]

在java中如何将emun枚举类型作为参数传入函数中?

C#中的枚举器和迭代器

在 Java 8 中迭代枚举

迭代和枚举数组,得不到相同的结果

Java重温学习笔记,迭代枚举元素