cal.get(7) 从 Calender 实例中做什么?

What does cal.get(7) do from a Calender instance?

我正在记录一些代码,需要帮助理解这一行。

private Calendar cal = Calendar.getInstance();
if ((this.cal.get(7) != 7) || (this.cal.get(7) == 1)) {

cal.get(7)是什么意思?我 运行 它在 IDE 上,它给了我 5 的结果。我尝试了 cal.get(6),得到了 169 的结果。

如果 "cal" 是 java.util.Calendar,那么 7 就是 DAY_OF_WEEK。但是,您不应该将文字整数传递给 .get() 方法;请改用日历 class 上的常量。 因此,例如,这相当于您的示例:

if ((this.cal.get(Calendar.DAY_OF_WEEK) != Calendar.SATURDAY) || (this.cal.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY)) {

(顺便说一下,DAY_OF_YEAR 的值为 6)

日历 class 有大量常量可供您使用;有关详细信息,请参阅 javadoc

/**
     * Field number for <code>get</code> and <code>set</code> indicating the day
     * of the week.  This field takes values <code>SUNDAY</code>,
     * <code>MONDAY</code>, <code>TUESDAY</code>, <code>WEDNESDAY</code>,
     * <code>THURSDAY</code>, <code>FRIDAY</code>, and <code>SATURDAY</code>.
     *
     * @see #SUNDAY
     * @see #MONDAY
     * @see #TUESDAY
     * @see #WEDNESDAY
     * @see #THURSDAY
     * @see #FRIDAY
     * @see #SATURDAY
     */
    public final static int DAY_OF_WEEK = 7;