java - Kotlin:等效于 KClass 的 getClass()

在 Java 中,我们可以通过 getClass() 解析变量的类,例如 something.getClass()。在 Kotlin 中,我知道 something.javaClass 很好,但我希望能够以类似的方式获取 KClass。我见过 Something::class 语法,但这不是我需要的。我需要获取变量的 KClass。有这样的功能吗?

最佳答案

自 Kotlin 1.1 以来实现此目的的最简单方法是 class reference syntax :

something::class

如果你使用 Kotlin 1.0,可以通过调用 .kotlin 扩展属性将获取的 Java 类转换为 KClass 实例:

something.javaClass.kotlin

https://stackoverflow.com/questions/32655216/

相关文章:

string - Kotlin - 如何正确连接字符串

generics - Kotlin 泛型中 "*"和 "Any"之间的区别

intellij-idea - IntelliJ 中的 Kotlin Unresolved refe

java - Kotlin 中的静态初始化 block

kotlin - 覆盖 Kotlin 数据类的 getter

generics - 通用扩展类 AND 在 Kotlin 中实现接口(interface)

list - Kotlin:如何使用列表强制转换:未经检查的强制转换:kotlin.collecti

android-studio - 用于使用 gradle (1.1.2-5) 构建的 kotlin

unit-testing - 如何在 Kotlin 中管理单元测试资源,例如启动/停止数据库连接或嵌

kotlin - 我们何时应该在 Kotlin 上使用 run、let、apply、also 和 w