นี่คือการนำไปใช้งานที่แตกต่างกันเพื่อรับชื่อคลาส คุณสามารถใช้งานได้ตามความต้องการของคุณ
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
}