如何在Java中循环枚举?

How do I loop through an enum in Java?

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

假设我有一个这样的枚举:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public enum Numbers {
    ONE("Uno"),
    TWO("Dos"),
    THREE("Tres");
}

private final String spanishName;

Numbers(String spanishName) {
    this.spanishName = spanishName;
}

public String getSpanishName() {
    return spanishName;
}

现在我有了一个输出给定变量的方法。

1
2
3
public void output(String value) {
    printStream.print(value);
}

我想使用for循环输出枚举中的所有值。沿着这条线的东西:

1
2
3
for(/*each element in the enum*/) {
    //output the corresponding spanish name
}

我希望最终的输出是Uno Dos Tres。如何使用枚举和for循环进行此操作?


1
2
3
for (Numbers n : Numbers.values()) {
   System.out.print(n.getSpanishName() +"");
}


使用此:

1
2
3
for (Numbers d : Numbers .values()) {
     System.out.println(d);
 }


1
2
3
for (Numbers num : Numbers.values()) {
  // do what you want
}

看起来重复:一个"在"循环在Java中枚举枚举