Что такое оператор when

«Что такое оператор when» — вопрос из категории Kotlin, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Оператор when в Kotlin — это условная конструкция, заменяющая switch-case из Java. Он более гибкий: поддерживает проверку типов, диапазоны и сложные условия без break.

Пример:

when (x) {
    1 -> print("One")
    in 2..10 -> print("Range 2-10")
    is String -> print("It's a String")
    else -> print("Unknown")
}

Особенности:

  • Работает с любыми типами (не только примитивами).
  • Может использоваться как выражение (возвращает значение).
  • Поддерживает !in, is, запятые для нескольких условий.
  • else аналогичен default в Java.

Как выражение:

val result = when (x) {
    0 -> "Zero"
    else -> "Non-zero"
}