Свойство javaClass
Свойство javaClass позволяет получить
информацию о классе объекта во время выполнения программы.
Оно возвращает объект типа java.lang.Class,
который содержит метаинформацию о классе - его имя,
методы, поля, конструкторы и другую информацию.
Данное свойство доступно для всех объектов в Kotlin.
Синтаксис
kotlinval obj.javaClass: Class<T>
Пример
Получим класс строки:
kotlinval str = "Hello Kotlin"
val classInfo = str.javaClass
println(classInfo)
Результат выполнения кода:
kotlinclass java.lang.String
Пример
Получим класс целого числа:
kotlinval num = 42
val classInfo = num.javaClass
println(classInfo)
Результат выполнения кода:
kotlinclass java.lang.Integer
Пример
Получим класс массива:
kotlinval arr = arrayOf(1, 2, 3, 4, 5)
val classInfo = arr.javaClass
println(classInfo)
Результат выполнения кода:
kotlinclass [Ljava.lang.Integer
Пример
Получим имя класса с помощью метода getName:
kotlinval str = "abcde"
val className = str.javaClass.name
println(className)
Результат выполнения кода:
kotlinjava.lang.String
Пример
Получим простое имя класса без пакета:
kotlinval num = 123.45
val simpleName = num.javaClass.simpleName
println(simpleName)
Результат выполнения кода:
kotlinDouble
Пример
Сравним классы двух объектов:
kotlinval str1 = "first"
val str2 = "second"
val areSameClass = str1.javaClass == str2.javaClass
println(areSameClass)
Результат выполнения кода:
kotlintrue
Пример
Проверим, является ли объект экземпляром определенного класса:
kotlinval obj: Any = "test string"
val isString = obj.javaClass == String::class.java
println(isString)
Результат выполнения кода:
kotlintrue