Вступить в клуб →
лёгкаявопросKotlin: классы, коллекции и идиомы

После добавления состояния Empty сборка упала на when

sealed interface CartState {
    data object Loading : CartState
    data class Content(val items: List<Item>) : CartState
    data class Error(val message: String) : CartState
    data object Empty : CartState   // добавили сегодня
}

val title = when (state) {
    CartState.Loading -> "Загрузка"
    is CartState.Content -> "Корзина"
    is CartState.Error -> "Ошибка"
}

Компилятор пишет, что выражение when должно быть исчерпывающим. Как исправить, сохранив пользу от этой проверки?

  • Добавить в when ветку для CartState.Empty
  • Добавить ветку else с пустой строкой
  • Заменить sealed interface на open class
  • Сделать переменную title типа String?

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела