2014-02-13 139 views
4

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

在德尔福:

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


    if (weSunday in (TWeekSetEnum)) 
    ... 

的Java?

+0

您选择的项目'EnumSet#contains' – qqilihq

+3

'如果(TWeekSetEnum.contains(weSunday))'? http://docs.oracle.com/javase/7/docs/api/java/util/EnumSet.html –

+0

这不是一个代码转换网站。请[阅读此](http://stackoverflow.com/questions/how-to-ask)。 – Maroun

回答

10

您可以用这种方法定义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()); 
    } 
} 

然后你可以检查它是否包含这样

TWeekEnum.getWeekend().contains(TWeekEnum.weTuesday)