的Answer by Brian Agnew是正確的需要爲您的飲料USE_XXX
。 Java擁有功能強大,靈活且簡單易用的工具。 (不要與現已過時Enumeration
接口相混淆。)
示例代碼
下面是基於該問題的示例代碼。
public enum Liquid {
COKE, PEPSI, JUICE, WATER
}
該枚舉類型爲EnumSet
的方法。
public Drink makeDrink (EnumSet<Liquid> ingredients) {
System.out.println ("ingredients: " + ingredients);
if (ingredients.contains (Liquid.JUICE)) {
// Treat as a Collection.
// `EnumSet` is just another `Set` implementation, though a very fast one.
}
for (Liquid ingredient : ingredients) {
// Access each item in the collection, each Liquid object in the EnumSet.
}
}
代碼調用該方法,實例化並傳遞必要的EnumSet
。
EnumSet ingredients = EnumSet.of (Liquid.COKE , Liquid.JUICE , Liquid.WATER);
Drink drink = this.makeDrink (ingredients);
運行時。
成分:可樂,果汁,水]
請記住,這些都是真正的對象,類型安全,編譯器執行,靜態定義,和自我記錄。不要把它們誤認爲單純的字符串。
您不需要Java中的標誌,只需使用[EnumSet](http://docs.oracle.com/javase/6/docs/api/java/util/EnumSet.html) – 2012-07-20 15:13:18