> Что такое 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 с потенциальной мутацией из другого потока).
> Похожие задачи по mobile
Почему происходит ошибка при обращении к неинициализированной переменной в Kotlin и где это происходит
Может ли suspend функция работать вне CoroutineScope
Как остановить корутину и гарантированно отменить ее в Kotlin
Как работают final и static в Kotlin и Java
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью