Sobes.tech
Junior — Middle

Kotlin-də növ çevirmə mexanizminin istifadəsinin prinsipi haqqında izah edə bilərsinizmi?

sobes.tech Süni İntellekt

AI-dan cavab

В 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)
}