Can I create an enum (constants to use in a switch statement) from two enums???
Something like...
public class Test{
public enum WorkDay {Monday, Tuesday, Wednesday, Thursday,Friday};
public enum WeekEndDay {Sunday, Saturday};
// it doesn't work ):
public enum Day{WorkDay.values(),WeekEndDay.values()};
public static void Action(Day d) {
switch(d){
case Monday:
...;
break;
case Tuesday:
...;
break;
case ...:
...;
break;
case Saturday:
...;
break;
}
}
}
Any idea??? I really want to use switch and have separated the enums Thanks!!!
No. You could create a Day enum and explicitly list each value, providing a constructor for each type as well... but personally I'd use:
public enum Day {
MONDAY(true),
TUESDAY(true),
WEDNESDAY(true),
THURSDAY(true),
FRIDAY(true),
SATURDAY(false),
SUNDAY(false);
private final boolean workDay;
private Day(boolean workDay) {
this.workDay = workDay;
}
public boolean isWorkDay() {
return workDay;
}
}
You could then also publish an EnumSet<Day> for work days and another for non-work days.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With