Может кто-нибудь объяснить, как эта программа относительно enum работает в Java?
Вот код:
enum Status {
STATUS_OPEN(10),
STATUS_STARTED(11),
STATUS_INPROGRESS(12);
private final int status;
Status(int aStatus) {
this.status = aStatus;
}
public int getStatus() {
return this.status;
}
}
class StatusTest3 {
public static void main(String[] args) {
for (Status stat : Status.values()) {
System.out.println(stat + " value is " + stat.getStatus());
}
}
}
Что значит Status.values()
вернуть?
и вывод:
STATUS_OPEN value is 10
STATUS_STARTED value is 11
STATUS_INPROGRESS value is 12
2 ответа
Status.values()
: вернет массив, содержащий константы этого типа enum, в порядке их объявления
Подробнее читайте в JLS: http://docs.oracle.com/javase/specs/jls/se7/html/jls-8.html
http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html
Все константы типа enum могут быть получены путем вызова неявного открытого статического метода T[] values () этого типа.