在 Kotlin 中,我可以像这样KType从 a 中获得 a KClass<*>:
Int::class.createType()
Run Code Online (Sandbox Code Playgroud)
kotlin.int
我如何做相反的事情并KClass<Int>从KType代表 a 中获得kotlin.Int?
您可以KType.classifier为此使用:
val intType : KType = Int::class.createType()
val intClassifier : KClassifier? = intType.classifier
assertEquals(Int::class, intClassifier) // true
Run Code Online (Sandbox Code Playgroud)
请注意,从 1.3.40 开始,您还可以(至少在 JVM 上)使用实验typeOf<Int>()来获取您的KType. 您可能想查看1.3.40-announcement以了解它是否对您有用。
说到 JVM:在 JVM 上,您还可以使用marstran在评论中指出的KType.jvmErasure获取实际类。
| 归档时间: |
|
| 查看次数: |
2806 次 |
| 最近记录: |