2016-02-28 83 views
-1

我正在写一个依赖于月份以及每个月有多少天的课程。在我的课程开始时,我写了:避免大量声明

static final int JAN = 1; 
static final int FEB = 2; 
... 
static final int DEC = 12; 

这看起来像是一个混乱的方式,我觉得枚举会更有效率。我需要能够“增加”月份(DEC + 1 = JAN),并且需要能够知道该月有多少天(FEB有28)。

我看到这样的方法有两种:

  1. 我现在的方式,定义静态最终整数,并使用switch语句找到的天数,而增加的时候,我总是会检查值是否大于12.

  2. 创建一组枚举,每个枚举具有一年中的哪个月份以及它包含多少天的输入,并定义一个“增量”方法。

有没有更好的方法来做到这一点,或者(大概)2.这样做的最好方法?

+2

不要。根本不要那样做。请。使用内置的类进行日期时间处理。除非你喜欢伤害自己。 – Tunaki

+0

看看新的Java时间API。不要阅读指向旧日历类的答案... – Tunaki

+0

其中一个或另一个有什么特别的优点/缺点,或者它们的功能如何不同? –

回答

0

我建议对这种情况使用java.util.Calendar。它已经定义了几乎为每个日期和时间相关的概念定义的常量,您将永远不得不使用这些常量;再加上,它足够聪明地知道诸如二月份的愿望 - 无用的长度(29天25%的时间)。