В этом случае я бы использовал перечисление java .time DayOfWeek для безопасности типов вместо строк, предложенных другими ответами.
Если вы используете kotlin, вы даже можете определить функцию расширения, например это:
fun DayOfWeek.getFollowingDays(n: Int): List<DayOfWeek> {
val list: MutableList<DayOfWeek> = mutableListOf()
var tempDay = this
for (i in 0 until n) {
tempDay = tempDay.plus(1)
list.add(tempDay)
}
return list
}
Затем вы можете вызвать функцию расширения следующим образом:
DayOfWeek.FRIDAY.getFollowingDays(4)
, и результат будет
[SATURDAY, SUNDAY, MONDAY, TUESDAY]
Преимущество использования enum вместо строки заключается в том, что компилятор перехватит для вас любые ошибки, и ваше приложение не будет аварийно завершать работу / иметь нежелательное поведение во время выполнения. Если день представлен в виде строки, вы можете передать любую возможную строку (например, «Invalid Day!»), Которая может привести к неожиданному срабатыванию программы во время выполнения. Однако при использовании перечислений нет возможности злоупотребить им, вам нужно , чтобы вызвать его в день, определенный перечислением, иначе приложение не будет построено.