Back to questions
Junior — Middle
72
Можете объяснить принцип использования механизма приведения типов в Kotlin?
Answer from AI
sobes.tech AI
В Kotlin механизм приведения типов позволяет преобразовывать объекты из одного типа в другой, когда это необходимо. Существует два основных способа:
- Безопасное приведение (
as?) — пытается привести объект к нужному типу и возвращаетnull, если это невозможно. - Обычное приведение (
as) — приводит объект к типу, но выбрасывает исключениеClassCastException, если приведение невозможно.
Пример:
val obj: Any = "строка"
val str1: String? = obj as? String // безопасное приведение, str1 будет "строка"
val str2: String = obj as String // обычное приведение
val num: Int? = obj as? Int // безопасное приведение, num будет null
Также Kotlin поддерживает умное приведение типов после проверки с помощью is:
if (obj is String) {
// Внутри этого блока obj автоматически приводится к String
println(obj.length)
}