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;}@Overridepublic String toString() {return getRepresentation();}@Overridepublic String toDatabaseString() {return this.representation;}@Overridepublic Workday fromDatabase(final String representation) {for (Workday wd : Workday.values()) {if (wd.representation.equals(representation)) {return wd;}}return null;}}
