І справді, нехай у нас є
enum
в якому вказані дні в тижні:
enum DAYS {
MON, TUE,
WED, THU,
FRI, SAT,
SUN;
public String is() {
return "working";
}
}
Що ж,
MON.is().equals("working")
має бути істинним; але подібне тяжко сказати, наприклад, для SUN.is().equals("working")
. Звичайно тепер ми можемо визначити
enum
наступним чином:
enum DAYS {
MON, TUE,
WED, THU,
FRI,
SAT {
public String is() {
return "week-end, day 1";
}
},
SUN {
public String is() {
return "week-end, day 2";
}
};
public String is() {
return "working";
}
}
І все, тепер
SUN.is().equals("week-end, day 2") == true
.Проблема вирішена, при чому, без збереження зайвого поля - вказівника на рядок.