首页 > 解决方案 > 我可以在纯 Kotlin 中通过类名实例化一个对象吗

问题描述

纯 Kotlin 中以下 Java 代码的等价物是什么?

Class.forName(className).newInstance()

假设我们在一个 Kotlin 多平台项目中。

标签: reflectionkotlin

解决方案


这将在 JVM 上的 Kotlin 中按原样工作,因为 Kotlin 被编译为可通过 Java 反射获得的 JVM 类,因此您也可以在 Kotlin 中使用这行代码。

对于其他 Kotlin 平台(Kotlin/JS、Kotlin/Native),目前没有适当的反射支持,因此在这些平台上运行时不能这样做。


推荐阅读