2013-05-21 15 views
16

Hãy nói rằng tôi có một enum như vậy:Làm thế nào để tôi lặp qua một enum trong Java?

public enum Numbers { 
    ONE("Uno "), 
    TWO("Dos "), 
    THREE("Tres "); 
} 

private final String spanishName; 

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

public String getSpanishName() { 
    return spanishName; 
} 

Bây giờ tôi có một phương pháp mà kết quả đầu ra một biến nhất định.

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

Tôi muốn sử dụng vòng lặp for để xuất tất cả các giá trị trong enum. Một cái gì đó dọc theo dòng này:

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

Cuối cùng tôi muốn kết quả cuối cùng là Uno Dos Tres. Làm thế nào tôi có thể làm điều này bằng cách sử dụng enums và một vòng lặp for?

+0

@RaviThapliyal Bạn sẽ không tìm thấy '.values ​​()' dưới Enum trong JavaDocs. Đó là một phương pháp tiềm ẩn cho loại enum. – NominSim

Trả lời

38
for (Numbers n : Numbers.values()) { 
    System.out.print(n.getSpanishName() + " "); 
} 
+0

Cảm ơn bạn :) Điều này rất hữu ích! – Charles

4

Sử dụng này:

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