Ось різні реалізації для отримання назв класів. Ви можете використовувати його відповідно до ваших вимог.
import kotlin.reflect.KClass
val <T : Any > T.kClassName: KClass<out T>
get() {
return javaClass.kotlin
}
Тут ми можемо отримати назву класу в kotlin
val <T : Any > T.classNameKotlin: String?
get() {
return javaClass.kotlin.simpleName
}
Тут ми можемо отримати назву класу в kotlin
val <T : Any > T.classNameJava: String
get() {
return javaClass.simpleName
}
Ось результати для наступних операцій.
fun main(){
val userAge = 0
println(userAge.kClassName)
Output: class java.lang.Integer (Kotlin reflection is not available)
println(userAge.classNameKotlin)
Output: Int
println(userAge.classNameJava)
Output: Integer
}