Понимание проверки и приведения типов в Kotlin: instanceof, is, as и многое другое

Фраза «kotlin instanceof» написана на английском языке и соответствует оператору isв языке программирования Kotlin. Оператор isиспользуется для проверки того, является ли объект экземпляром определенного типа. Вот пример:

val obj: Any = "Hello, World!"
if (obj is String) {
    println("obj is a String")
} else {
    println("obj is not a String")
}

В этом примере оператор isиспользуется для проверки того, является ли переменная objэкземпляром класса String.

Что касается вашего запроса на максимально возможное количество методов, я предполагаю, что вы имеете в виду методы, связанные с проверкой типов или приведением типов в Kotlin. Вот несколько методов и концепций, которые могут быть полезны:

Оператор

  1. is: как упоминалось выше, он проверяет, является ли объект экземпляром определенного типа.
  2. Оператор

  3. as: выполняет безопасное приведение из одного типа в другой. Если приведение невозможно, выдается ClassCastException.
  4. Оператор

  5. as?: выполняет безопасное приведение из одного типа в другой. Если приведение невозможно, вместо выдачи исключения возвращается null.
  6. Оператор

  7. !is: проверяет, не является ли объект экземпляром определенного типа.
  8. Оператор

  9. as!: выполняет небезопасное приведение из одного типа в другой. Если приведение невозможно, выдается ClassCastException.
  10. Свойство

  11. javaClass: возвращает класс времени выполнения объекта.
  12. Свойство

  13. ::class: возвращает ссылку на класс объекта в Kotlin.
  14. Выражение

  15. when: позволяет сопоставлению типов с шаблоном выполнять различные действия в зависимости от типа объекта.