Что делает 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;