Java 枚举示例
原文: https://javabeginnerstutorial.com/core-java-tutorial/java-enum-example/
/**
* @author GHajba
*
*/
public class Main {
public static void main(final String... args) {
Schedule currentSchedule = new Schedule();
currentSchedule.setWorkday(Workday.FRIDAY);
System.out.println("--------");
if (currentSchedule.getWorkday() == Workday.FRIDAY) {
System.out.println("Hurray! Tomorrow is weekend!");
}
System.out.println("--------");
switch (currentSchedule.getWorkday()) {
case MONDAY:
case TUESDAY:
case WEDNESDAY:
case THURSDAY:
System.out.println("Working and working and...");
break;
case FRIDAY:
System.out.println("Hurray! Tomorrow is weekend!");
break;
default:
System.out.println("Unknown day -.-");
}
System.out.println("--------");
System.out.println("Displaying all Workdays:");
for (Workday w : Workday.values()) {
System.out.println(w);
}
System.out.println("--------");
System.out.println("Displaying all Workdays:");
for (Workday w : Workday.values()) {
System.out.println(w.getRepresentation());
}
}
}
Schedule.java
/**
* @author GHajba
*
*/
public class Schedule {
private Workday workday;
public Workday getWorkday() {
return this.workday;
}
public void setWorkday(final Workday workday) {
this.workday = workday;
}
}
Workday.java
/**
* @author GHajba
*
*/
public enum Workday implements DatabaseEnum<Workday> {
MONDAY("Monday"),
TUESDAY("Tuesday"),
WEDNESDAY("Wednesday"),
THURSDAY("Thursday"),
FRIDAY("Friday");
private final String representation;
private Workday(final String representation) {
this.representation = representation;
}
public String getRepresentation() {
return this.representation;
}
@Override
public String toString() {
return getRepresentation();
}
@Override
public String toDatabaseString() {
return this.representation;
}
@Override
public Workday fromDatabase(final String representation) {
for (Workday wd : Workday.values()) {
if (wd.representation.equals(representation)) {
return wd;
}
}
return null;
}
}