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