> Что такое smart cast в Kotlin (Kotlin, Android)

Уровень: junior · Роль: mobile · Категория: Технические вопросы

Компании: Яндекс

Стек: Kotlin, Android

> Пример ответа

Smart cast в Kotlin - это механизм автоматического приведения типа переменной после проверки её типа с помощью оператора is или !is. Компилятор отслеживает такие проверки и в соответствующей ветке кода позволяет обращаться с переменной как с целевым типом без явного приведения (кастинга). Например, если у вас есть переменная val obj: Any = "Hello", то после if (obj is String) внутри блока if компилятор автоматически считает obj строкой, и вы можете вызывать методы String, такие как obj.length, без дополнительного (obj as String).length. Это повышает безопасность кода, устраняя необходимость в ручных кастах и снижая риск ClassCastException. Smart cast работает также с when-выражениями, условными операторами и логическими комбинациями (&&, ||), но не применяется, если переменная может быть изменена между проверкой и использованием (например, для var с потенциальной мутацией из другого потока).

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью