Перечисления и EnumSet специально разработаны для этого.
class myClass {
public static enum Options {A,B,C};
private EnumSet optionSet = EnumSet.noneOf(Option.class);
public setOption(Option o) {
optionSet.add(o);
}
public setOptions(EnumSet addset) {
optionSet.addAll(addset);
}
}
optionSet содержит опции, которые «установлены». EnumSet чрезвычайно эффективен, использует только один бит для каждого элемента enum в большинстве реализаций и позволяет получать и устанавливать в постоянное время. Конечно, вы можете ограничить параметры настройки и временем строительства.
РЕДАКТИРОВАТЬ: вы можете установить несколько параметров, таких как A и B одновременно с:
myClassInstance.setOptions(EnumSet.of(A,B));