gpt4 book ai didi

Java 一周中的天数计算

转载 作者:行者123 更新时间:2023-12-02 08:08:07 24 4
gpt4 key购买 nike

我有一个一周中的天数(每天、周末和工作日)的枚举,如下所示,其中每个条目都有一个 int 值。

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;
}
}

给定值的任意组合的总数,计算所有单个值并从中创建数组列表的最简单方法是什么。例如,给定数字 56(即周三+周四+周五),如何计算天数。

最佳答案

表示枚举值集合的正确方法是使用 EnumSet 。这在内部使用了位 vector 。但是在代码中暴露这样的实现细节并不是一个好主意。我们在这里进行面向对象,而不是闲聊。

此外,您将单个值和值集合的概念混合在一起,这可能会导致以后出现麻烦。

使用 DayOfWeek 的示例Java 8 及更高版本中内置了枚举。

EnumSet<DayOfWeek> weekend = EnumSet.of( DayOfWeek.SATURDAY , DayOfWeek.SUNDAY );

Boolean isTodayWeekend = weekend.contains( LocalDate.now().getDayOfWeek() );

关于Java 一周中的天数计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2461815/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com