НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
15 of 1310 menu

Оператор as

Оператор as выполняет приведение типа объекта к указанному типу. Если приведение невозможно, выбрасывается исключение ClassCastException. Имеет две формы: обычное приведение as и безопасное приведение as?.

Синтаксис

Обычное приведение:

val obj: Any = "Hello" val str: String = obj as String

Безопасное приведение:

val obj: Any = "Hello" val str: String? = obj as? String

Пример

Приведение типа Any к String:

val obj: Any = "Kotlin" val str: String = obj as String println(str)

Результат выполнения кода:

String "Kotlin"

Пример

Попытка приведения несовместимых типов вызывает исключение:

val obj: Any = 123 try { val str: String = obj as String } catch (e: ClassCastException) { println("Error: ${e.message}") }

Результат выполнения кода:

Error: java.lang.Integer cannot be cast to java.lang.String

Пример

Безопасное приведение с оператором as? возвращает null при ошибке:

val obj: Any = 123 val str: String? = obj as? String println(str)

Результат выполнения кода:

null

Пример

Приведение с проверкой типа через is:

val obj: Any = "Hello" if (obj is String) { val length = obj.length println(length) }

Результат выполнения кода:

Int 5

Смотрите также

  • оператор is,
    который проверяет тип объекта
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить