Brian Agnew的答案是正确的。Java 有一个强大、灵活且非常方便的Enum
工具。(不要与现在过时的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 );
跑的时候。
成分:[可乐、果汁、水]
请记住,这些是真实的对象、类型安全的、编译器强制执行的、静态定义的和自记录的。不要将它们误认为仅仅是字符串。