的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