如何在Java中迭代枚举字段?

How to iterate on the field of an enum in Java?

本问题已经有最佳答案,请猛点这里访问。

我有这个Java枚举:

1
2
3
4
5
6
7
8
public enum ConnectionParameter {
    state,
    host,
    port,
    secure,
    username,
    password
}

它包含一个XML文件的字段,在该文件上我必须使用xpath(但此时这并不重要)

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

我该怎么做?

TNX

安德莉亚


1
for(ConnectionParameter item : ConnectionParameter.values())

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

1
2
3
for (ConnectionParameter c :ConnectionParameter.values()) {
   System.out.println(c.printableName());
}

更多信息:

  • 爪哇Enums


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

1
2
3
for (ConnectionParameter connectionParameter : ConnectionParameter.values()) {
   // do somethign with `connectionParameter` here
}

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