НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
14 of 1310 menu

Оператор is

Оператор is проверяет, принадлежит ли объект к указанному типу. Может использоваться как в условных выражениях, так и для автоматического приведения типов в соответствующем блоке кода. Работает с классами и интерфейсами.

Синтаксис

obj is Type
obj !is Type

Пример

Проверим, является ли переменная строкой:

val obj: Any = "hello" if (obj is String) { println(obj.length) }

Результат выполнения кода:

Int 5

Пример

Использование отрицательной формы оператора:

val obj: Any = 123 if (obj !is String) { println("Not a string") }

Результат выполнения кода:

String "Not a string"

Пример

Автоматическое приведение типов после проверки:

fun printLength(obj: Any) { if (obj is String) { // obj автоматически приводится к String println(obj.length) } } printLength("kotlin")

Результат выполнения кода:

Int 6

Пример

Проверка типа в выражении when:

fun describe(obj: Any): String = when (obj) { is String -> "String with length ${obj.length}" is Int -> "Integer with value $obj" else -> "Unknown type" } println(describe("test")) println(describe(10))

Результат выполнения кода:

String "String with length 4" String "Integer with value 10"

Смотрите также

  • оператор as,
    который выполняет приведение типов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить