将枚举与int,Calendar Class进行比较

时间:2013-02-14 11:41:22

标签: java calendar

这是一个令人困惑的问题。

使用Calendar类来比较Calendar枚举值,例如:

Calendar c = Calendar.getInstance();

if (c.SUNDAY == c.getFirstDayOfWeek()); //US local
System.out.println("indeed");

基本上,我想知道如何将枚举(SUNDAY)与返回int的getFirstDayOfWeek()方法进行实际比较。

提前感谢您的答案。

2 个答案:

答案 0 :(得分:1)

SUNDAY是Calendar API中的静态最终字段。它不是一个枚举。和getFirstDayOfWeek()返回一个int值(int表示中的星期几),因此比较是有效的。

来自Calendar Source:

576       public final static int SUNDAY = 1;

答案 1 :(得分:1)

c.SUNDAY也是一个int(而不是Enum),所以没有问题。

日历最终值存储为int。

这样,当实际的实现(int)并不重要时,它会为所有常量创建一个“通用语言”。

Calendar class