Sobes.tech
Назад к вопросам
Junior — Middle
73

Можете объяснить принцип использования механизма приведения типов в Kotlin?

Ответ от нейросети

sobes.tech AI

В Kotlin механизм приведения типов позволяет преобразовывать объекты из одного типа в другой, когда это необходимо. Существует два основных способа:

  1. Безопасное приведение (as?) — пытается привести объект к нужному типу и возвращает null, если это невозможно.
  2. Обычное приведение (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)
}