Что делает cal.get(7) из экземпляра Calender?

Я документирую некоторый код и мне нужна помощь в понимании этой маленькой строчки.

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.

2 ответа

Решение

Если "cal" - это java.util.Calendar, то 7 будет DAY_OF_WEEK. Однако вы не должны передавать литеральные целые числа в метод.get(); используйте вместо этого константы в классе Calendar. Так, например, это эквивалент вашего примера:

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

(Кстати, DAY_OF_YEAR имеет значение 6)

Класс Calendar имеет большое количество констант, которые вы можете использовать; см. 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;
Другие вопросы по тегам