我需要检查枚举元素是否进入枚举集

Bon*_*zan 6 java enums

我是java的新手.我需要检查枚举元素是否进入枚举集.

在德尔福:

type
  TWeekEnum = (weMonday, weTuesday, weWednesday, weThursday, weFriday, weSaturday, weSunday)
  TWeekSetEnum = (weSaturday, weSunday)


  if (weSunday in (TWeekSetEnum))
  ...
Run Code Online (Sandbox Code Playgroud)

Java的?

Ian*_*ird 14

您可以使用enum这种方式定义,然后在其上创建子集作为静态方法.

public enum TWeekEnum {
    weMonday, weTuesday, weWednesday, weThursday, weFriday, weSaturday, weSunday;

    public static EnumSet<TWeekEnum> getWeekend() {
        return EnumSet.of(weSaturday, weSunday);
    }

    public static EnumSet<TWeekEnum> getWeekDays() {
        return EnumSet.complementOf(getWeekend());
    }
}
Run Code Online (Sandbox Code Playgroud)

然后,您可以检查它是否包含您选择的项目

TWeekEnum.getWeekend().contains(TWeekEnum.weTuesday)
Run Code Online (Sandbox Code Playgroud)