У меня есть Enum for Days of week (с Everyday, weekend и weekdays), как указано ниже, где каждая запись имеет значение int.Расчет недельных дней Java
public enum DaysOfWeek {
Everyday(127),
Weekend(65),
Weekdays(62),
Monday(2),
Tuesday(4),
Wednesday(8),
Thursday(16),
Friday(32),
Saturday(64),
Sunday(1);
private int bitValue;
private DaysOfWeek(int n){
this.bitValue = n;
}
public int getBitValue(){
return this.bitValue;
}
}
распределил любой комбинации значений, то, что было бы самым простым способом вычислить все индивидуальные значения и сделать ArrayList от него. Например, учитывая число 56 (т. Е. Wed + Thur + Fri), как рассчитать дни.
Здесь вы не можете использовать 62, 65, 127. Вам нужны 1, 2, 4, 8, 16, 32, 64, 128, 256 и 512, чтобы заставить его работать «простым способом» (чего я еще не могу сказать с головы, но кто-то еще;)). – BalusC
@BalusC: эти значения представляют собой предопределенные комбинации, не предназначенные для дальнейшего объединения. –
В качестве альтернативы, если вы формируете «total» с использованием побитового OR ('|'), а не сложения ('+'), тогда могут быть созданы битовые комбо, например 65 или 127. –