ral*_*ugm 2 java enums switch-statement
我可以从两个枚举中创建一个枚举(在switch语句中使用的常量)吗?
就像是...
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;
}
}
}
Run Code Online (Sandbox Code Playgroud)
任何的想法???我真的想用开关和分离的枚举谢谢!!!
Jon*_*eet 10
不.你可以创建一个Day
枚举并明确列出每个值,为每种类型提供一个构造函数......但我个人会使用:
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;
}
}
Run Code Online (Sandbox Code Playgroud)
然后,您还可以EnumSet<Day>
在非工作日发布工作日和另一个工作日.