Запись на курсы по HTML, CSS, JavaScript, PHP, Python, фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
15 of 1310 menu
В течении недели будет ОБНОВЛЕНИЕ УЧЕБНИКОВ PHP. Поменяется структура! Подробнее по ссылке.

Оператор 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,
    который проверяет тип объекта