2014-02-13 138 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)