Свойство 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

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

  • ключевое слово class,
    которое используется для объявления классов
  • ключевое слово init,
    которое используется для блоков инициализации
  • ключевое слово this,
    которое ссылается на текущий экземпляр класса